Stanislav Shwartsman
a7680fe2ec
remove unused function
2009-10-15 20:53:30 +00:00
Stanislav Shwartsman
3dbb1da68a
remove "dirty" pages tracking - it is too memory consuming and can fit with >4G phy addr space
2009-10-15 20:50:33 +00:00
Stanislav Shwartsman
1b248b5212
fixes for future
2009-10-15 16:14:30 +00:00
Stanislav Shwartsman
5880d7f49c
bugfix with phy addr long
2009-08-11 15:56:09 +00:00
Stanislav Shwartsman
f29b5a97d6
fixes with long phy addr
2009-08-10 08:08:25 +00:00
Stanislav Shwartsman
b15792f955
dbg stuff fixes for > 32 bit phy mem
2009-08-10 07:51:41 +00:00
Stanislav Shwartsman
74c62a59ab
Fixes for > 32-bit physical addr range
2009-08-03 15:01:07 +00:00
Stanislav Shwartsman
3ffda1442a
Allow loading roms bigger than 0x10000. Set the limit to 0x20000.
2009-03-29 20:08:27 +00:00
Stanislav Shwartsman
4470c6a1c8
make ICACHE always enabled option and deprecate it in the configure script
...
Trace cache still can be turned off
2009-03-13 18:48:08 +00:00
Stanislav Shwartsman
6fe0b40b44
move a20 handling into getHostAddr method of BX_MEM
2009-03-08 21:23:40 +00:00
Volker Ruppert
9e3dd83e85
- reduce some more dependencies and related Makefile.in updates
2009-02-23 11:06:53 +00:00
Volker Ruppert
790eec83ca
- converted I/O APIC to a device plugin
...
- updated dependencies
2009-02-22 10:44:50 +00:00
Stanislav Shwartsman
1b72e66bb3
support for apic global disable
...
separate between I/O apic and local apic
2009-02-18 22:25:04 +00:00
Stanislav Shwartsman
3a1852ea23
take local APIC read/write access into CPU class from BX_MEM (needed for APIC virtualization later)
2009-02-17 19:20:47 +00:00
Volker Ruppert
e5eac65b59
- removed wrong character from FSF address (converted invisible and useless
...
2-byte character)
- updated FSF address in some files
- added license to some files
2009-02-08 09:05:52 +00:00
Stanislav Shwartsman
9929e6ed78
- updated FSF address
2009-01-16 18:18:59 +00:00
Volker Ruppert
501952efdd
- removed unused logfunctions member 'type' and related method 'settype()'
...
- updated FSF address in copyright
2009-01-10 11:30:20 +00:00
Volker Ruppert
e12b21e647
- update all dependencies
2009-01-03 09:54:10 +00:00
Volker Ruppert
815dff019e
- converted iodebug device to a plugin
2008-12-30 18:11:13 +00:00
Volker Ruppert
01b0ed241b
- fixed endianness problems at PCI DMA block transfers using getHostMemAddr()
...
and memcpy()
- changes in getHostMemAddr() for the usage outside of the cpu
2008-12-13 11:03:36 +00:00
Stanislav Shwartsman
d7fa44d270
optimize code access detection
2008-12-05 22:34:42 +00:00
Stanislav Shwartsman
0f5f075e4d
- Fixed theoretically possible pageWriteStamp overflow
2008-10-21 19:50:05 +00:00
Stanislav Shwartsman
d12c08f720
Typo fixed
2008-10-18 18:14:04 +00:00
Stanislav Shwartsman
ce425f02d9
Small fix towards 40-bit physical address emulated
2008-10-18 18:10:14 +00:00
Stanislav Shwartsman
f303d61cc1
Fixed 'dirty page' support in debugger
2008-07-26 14:44:26 +00:00
Stanislav Shwartsman
8d17e7b539
Fixed watchpoints handling
2008-05-31 20:59:38 +00:00
Stanislav Shwartsman
f6b7fecba2
For future 64-bit ph.addr
2008-05-10 21:36:55 +00:00
Stanislav Shwartsman
6ebae41ad7
print physcial address with special format - preparations for 64-bit physical address emu
2008-05-09 22:33:37 +00:00
Stanislav Shwartsman
11b564b2f0
Speed up memory access by devices
2008-05-02 23:18:51 +00:00
Stanislav Shwartsman
6225aa64f5
Move monitor check earlier - it should handle SMM as well
2008-05-01 20:46:00 +00:00
Stanislav Shwartsman
73d8bd3af4
Hide more memory variables
2008-05-01 20:28:36 +00:00
Stanislav Shwartsman
f5780a5f5c
Hide some BX_MEM_C variables
...
Optimize resolve16 methods - by reducing their amount again - reduce chance for misspredictin
2008-05-01 20:08:37 +00:00
Stanislav Shwartsman
297087fea9
fixed memory handler params - use bx_phy_address data type
2008-04-29 22:14:23 +00:00
Stanislav Shwartsman
d8c77cc1ae
Small cleanup for memory class
2008-04-17 20:20:43 +00:00
Stanislav Shwartsman
fda4d38959
32-bit systems have a problem to allocate large amount of physical memory for Bochs simulation which makes simulation with 4G address space virtually impossible. But in most of the cases when 4G physical address space defined - it is not touched by default on every run so it is possible to allocate only really accessed blocks. This commit made all necessary preparations for it.
2008-04-17 14:39:33 +00:00
Stanislav Shwartsman
fea49bb270
Fixed linear address wrap in legacy (not long64) mode
2008-04-07 18:39:17 +00:00
Stanislav Shwartsman
a459a64f3e
whispace, tab2space, indent, dos2unix and other cleanups
2008-02-15 22:05:43 +00:00
Stanislav Shwartsman
25a9b9fef1
whitespace cleanup again
2008-02-03 20:27:06 +00:00
Stanislav Shwartsman
37fbb82baa
Cleanups. Move bxInstruction_c definition to separate file instr.h
2008-01-29 17:13:10 +00:00
Stanislav Shwartsman
72d72c92d4
Fixed warnings of VC2008
2007-12-30 18:02:22 +00:00
Stanislav Shwartsman
838fb2a048
Fixing V2008 warnings - they found a bug in sse_pfp.cc !
2007-12-23 17:21:28 +00:00
Stanislav Shwartsman
92f7a3a805
Fixed several compilation errors under OSX
2007-12-10 19:05:07 +00:00
Volker Ruppert
cc80157a94
- fixed compilation error
2007-11-02 23:30:07 +00:00
Stanislav Shwartsman
e137560b14
Complete MONITOR/MWAIT implemntation (including monitoring of memory range)
...
Fixed PANIC in read/write Cr/Dr - should #UD with unkown register used
2007-11-01 18:03:48 +00:00
Stanislav Shwartsman
a4e20e9d29
warnings fixed
2007-10-24 23:02:09 +00:00
Stanislav Shwartsman
42fdd8a3a1
During Bochs benchmarking I figured out that hostasm actually slow down the emulation ... so remove this ugly code which also doesn't help :)
...
speedup flags update for some instructions - idea was taken from DT patch by h.johansson
2007-10-21 22:07:33 +00:00
Stanislav Shwartsman
624a543c34
Fix compilation warning
2007-10-09 20:23:01 +00:00
Stanislav Shwartsman
071c5c1a26
A lot of changes but everything is really trivial.
...
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
2007-09-28 19:52:08 +00:00
Stanislav Shwartsman
476baaf1d8
ThiS patch makes watchpoints work even if they are triggered on CPUs other than CPU 0 during SMp.
...
Patch from developers mailing list
2007-09-27 16:10:45 +00:00
Stanislav Shwartsman
412eeeeb7c
Get crregs definition to separate file from cpu.h
2007-09-10 16:00:15 +00:00
Stanislav Shwartsman
593f9d5f36
Fixed typo
2007-05-15 12:48:59 +00:00
Stanislav Shwartsman
b6c8275cfd
remove old PIT model and always use Greg Alexander's new one
2007-04-08 21:57:06 +00:00
Stanislav Shwartsman
9d907b5f65
Try to specify everywhere the list size in bx_list_c constructor
2007-04-03 22:38:49 +00:00
Stanislav Shwartsman
97c0bc40a2
Bochs website tracker patch
...
shows where write outside of memory occurred
2006-12-29 08:02:35 +00:00
Volker Ruppert
0c827dcbf1
- implemented debugger access to SMRAM area
2006-10-02 17:40:20 +00:00
Volker Ruppert
aacc148f7c
- initial revision of the 32-bit init code for the Bochs BIOS
...
* CPU, PCI, ACPI and SMM init
* MP and ACPI table generation
- MP table generation hack in the Bochs memory code disabled (should be removed)
- don't test the checksum of large BIOS images (for now)
- existing 16-bit PCIBIOS init disabled for now
2006-09-28 19:01:04 +00:00
Volker Ruppert
0a804aeb18
- memory cleanup code moved to a separate method (called from bx_atexit())
...
- fixed memory handler init and cleanup code (memory leaks)
2006-09-15 17:02:52 +00:00
Volker Ruppert
a3908d6e86
- moved BX_USE_MEM_SMF to all the other SMF definitions in config.h.in (should
...
be set to 1, since there is only one address space present)
- fixed memory object member to support the static case (SMF)
2006-09-02 12:08:28 +00:00
Volker Ruppert
77217aa7b8
- fixed memory init code for restart support in wx (a lot more changes in other
...
parts of Bochs are needed to make it really work)
2006-09-01 18:14:13 +00:00
Stanislav Shwartsman
1deddb9f0e
Fix linking problem with debugger enabled
2006-06-06 16:46:08 +00:00
Stanislav Shwartsman
fea15294b5
Fixed compilation error in init.cc
...
Move initialization of memory object to misc_mem.cc
2006-06-03 12:59:14 +00:00
Stanislav Shwartsman
d17eb99f76
fixed allocated physical memory limit check in memory.cc
...
Force eflags before saving them - register eflags using param handlers
2006-06-01 20:05:15 +00:00
Stanislav Shwartsman
b0cbaf70e0
Avoid double check for a20addr <= BX_MEM_THIS len
2006-05-31 20:23:58 +00:00
Stanislav Shwartsman
594b8cce47
Fixed segfault with bochs debugger but reported today
2006-05-31 17:20:52 +00:00
Stanislav Shwartsman
8b0df8e99b
Merge SAVE_RESTORE branch to CVS
2006-05-27 15:54:49 +00:00
Stanislav Shwartsman
6a0d15ee31
Veto direct write to the 0x000C0000 to 0x000EFFFF area
2006-04-29 16:55:22 +00:00
Stanislav Shwartsman
41204ede1a
Fixed compilation err with debugger ON
2006-04-06 16:43:36 +00:00
Volker Ruppert
05280a1eba
- fixed handling of BIOS extensions with base address within the 0xe0000 segment
...
- fixed a warning
2006-04-05 16:58:22 +00:00
Stanislav Shwartsman
b271bcd9c6
Fixed compilaion problem on Linux gcc 3.3.4
2006-03-28 21:09:04 +00:00
Stanislav Shwartsman
4fd9bd53c3
Change Bit32u -> bx_phy_address in memory
2006-03-28 16:53:02 +00:00
Stanislav Shwartsman
da3d26d7f4
Preliminary implemntation of SMM save statei
...
Fixed fetchModeMask for load32bitOsStack
2006-03-27 18:02:07 +00:00
Stanislav Shwartsman
c7d142200f
Implement SMRAM conrol register in i440fx chipset and all its functionality in memory class
2006-03-26 22:15:07 +00:00
Stanislav Shwartsman
f3ac069c90
initialize new BX_MEM_C member
2006-03-26 19:48:54 +00:00
Stanislav Shwartsman
b8be848943
Use access_type param in getHostMemAddr, less efficient but no copy-paste at least
2006-03-26 19:39:37 +00:00
Stanislav Shwartsman
5c3fba4399
Support access to SMRAM in memory object
...
Cleanup in CPU code
2006-03-26 18:58:01 +00:00
Stanislav Shwartsman
7b6c2587a9
Now devices could be compiled separatelly from CPU
...
Averything that required cpu.h include now has it explicitly and there are a lot of files not dependant by CPU at all which will compile a lot faster now ...
2006-03-06 22:03:16 +00:00
Stanislav Shwartsman
c0aeb1b073
Substitute NULL to BX_CPU_C parameter instead of BX_CPU(0) for memory ops originated by devices
2006-03-06 19:23:13 +00:00
Stanislav Shwartsman
7ed117f0e0
Add 8-byte memory access support, all 8-byte memory accesses executed byte-byte before.
2006-03-03 12:55:37 +00:00
Stanislav Shwartsman
e297df457a
Roll back the try to move Local APIC memory access to CPU.
...
It was fast and fine but had serious correctness problems with RMW apic access
2006-03-02 23:16:13 +00:00
Stanislav Shwartsman
5fad793989
move local apic handling to the access_linear function for the memory class.
...
speedup the whole simulation by 2% !
2006-03-01 22:32:24 +00:00
Stanislav Shwartsman
dfeaf141f0
Register I/O APIC as memory handler, optimize memory handlers array
2006-02-27 19:04:01 +00:00
Volker Ruppert
6311fface8
- pci options rewritten to a parameter tree
...
- proposed parameter tree updated
- pci presence flag stored in the memory code
2006-02-19 21:35:50 +00:00
Volker Ruppert
7a48a576b5
- fixed ROM address range check
2006-02-11 09:35:54 +00:00
Stanislav Shwartsman
c7dd4185a7
Do not pass crc32 function as parameter to memory class - it is available as global function now
2006-01-28 16:16:03 +00:00
Stanislav Shwartsman
37eb82c69c
Totally remove the cosimulation code from Bochs.
...
The Bochs anyway even doesn't compile if cosimulation configured enabled.
But in the same time the cosimulation code only disturbs to the future development of Bochs debugger, for example adding x86-64 functionality ...
For those of you who still may want to see the cosimulation code inside I put it in patch and upload it Bochs CVS patches folder. Read comments for the patch ! ----------------------------------------------------------------------
2006-01-25 22:20:00 +00:00
Stanislav Shwartsman
18afa9fd2d
This is cumulative patch for bochs debugger, it is only very first step towards working debugger supporting all new simulator functionalitieS.
...
- move crc.cc from debugger to bochs folder and make it projct-wide and not local for debugger
- added new 'info sse' command for debugger
- extend 'modebp' command to break on any mode change
- remove unimplemened 'info program' function, it is always printed fixed text
- move debugger help to parser, cleanup and simplify it
2006-01-24 19:03:55 +00:00
Stanislav Shwartsman
aacabd00f9
Generate MP tables only when APIC enabled
2006-01-18 19:11:05 +00:00
Stanislav Shwartsman
f2fc4bbe5a
Generate MP tables even for single CPU configurations
2006-01-17 18:15:49 +00:00
Stanislav Shwartsman
3dbf0f3b97
Bochs supports only ONE memory address space anyway so the code sould be optimized for this case a little (mainly in SMP configuration)
2006-01-15 19:35:39 +00:00
Stanislav Shwartsman
96c074f87b
Fix MP table generated by Bochs
2006-01-10 18:33:27 +00:00
Volker Ruppert
28853fe54c
- calculate BIOS ROM start address from image size if no address parameter is
...
used or address is set to 0.
2005-12-27 16:59:27 +00:00
Volker Ruppert
81dd23c68f
- create SMP specific tables dynamicly ("backported" from qemu - already mentioned
...
in our TODO list items 9.1 and 9.2)
2005-12-25 19:30:48 +00:00
Volker Ruppert
dd384f68ed
- report checksum error only if the original Bochs BIOS is used
...
- prepared dynamicly created SMP tables (should be at F000:B000, so we can get
rid of the SMP specific BIOS images)
- MSVC warning fixed
2005-12-19 20:48:51 +00:00
Stanislav Shwartsman
0f8c8c85ed
indent changes
2005-11-27 19:40:56 +00:00
Volker Ruppert
f8d7f31f89
- always use BX_N_OPTROM_IMAGES as the maximum number for RAM & ROM
...
- reset code for RAM & ROM simplified
- fixed some typos and warnings
2005-10-28 06:33:53 +00:00
Kevin Lawton
641650e7e1
Added optramimage directive for .bochsrc files, with same syntax as
...
optromimage. You can load up to 4 arbitrary binary images into RAM.
I didn't do any checking on the addresses, so it's up to you to make
sure they don't collide with anything else. Should only be used for
placing files into standard RAM.
2005-10-28 00:12:27 +00:00
Volker Ruppert
dab91288a9
- a rom extension starting in the 0xdxxxx space must end at max. 0xdffff
...
- don't create a checksum for BIOS extensions without signature at 0xe0000
2005-10-25 19:12:54 +00:00
Volker Ruppert
9d3cbbdb76
- accept an optional rom image in the 0xe0000 area and load them into BIOS memory
2005-10-25 08:33:55 +00:00
Stanislav Shwartsman
469358aaf9
Move SHOW_IPS action to bx_gui object, may be some GUI will be able to print IPS online in the simulation window status bar ...
...
Small code cleanup
2005-10-13 16:22:21 +00:00
Volker Ruppert
0e2f0a4392
- support for large BIOS images with up to 512k size added (initial patch by magicfox)
2005-10-12 17:11:44 +00:00