Volker Ruppert
2ea45c0e4d
implemented volatile BIOS memory write support (controlled by PIIX/PIIX3 XBCS register)
2012-12-02 19:59:23 +00:00
Volker Ruppert
b560c72b52
- added check for overlapping memory regions using a Bit16u bitmap (each bit
...
represents a 64k block in the 1M page)
- fixed some format warnings
2012-09-23 19:09:20 +00:00
Volker Ruppert
ed669adfd1
- rewrite of the PCI memory management code for the expansion ROM and BIOS area
...
- store memory type array in the memory object to avoid calling the pci plugin
frequently. The pci code calls a memory method to change the memory type in
case the PAM registers are modified.
- removed now obsolete code and minor cleanups
2012-01-19 18:32:11 +00:00
Stanislav Shwartsman
d3fe5c607e
compilation fix
2011-12-02 20:11:57 +00:00
Stanislav Shwartsman
81f55b5be7
improved the fix for busmaster DMA transfers from device to memory done by Volker
2011-12-02 19:41:54 +00:00
Volker Ruppert
1f18f5831f
- final fix for busmaster DMA transfers from device to memory: new memory method
...
writePhysicalBlock() replaces the buggy code in iodev.h.
Calling pageWriteStampTable.decWriteStamp(addr) is required here to make memcpy() work.
2011-11-30 17:11:43 +00:00
Stanislav Shwartsman
d11114ac19
Patch for emulating target with larger memory than host has available by Gary Cameron.
...
The patch was posted in mailing list at Thu 6/16/2011.
Desription for CHANGES:
- Memory
- Added new configure option which enables RAM file backing for large guest
memory with a smaller amount host memory, without causing a panic when
host memory is exhausted (patch by Gary Cameron). To enable configure with
--enable-large-ramfile option.
2011-07-22 17:46:06 +00:00
Stanislav Shwartsman
f57b14d338
Extended the interface of the fetch handler to general direct memory access handler.
...
Now the handler receives 'rw' (BX_READ, BX_WRTE, BX_EXECUTE) access type as parameter.
If returning a pointer to <addr> - itr is assumed that whole 4K page containing the <addr> could be accessed using the same pointer with offset.
You can return a pointer for READ/WRITE only and disallow execute, this is handled properly in the CPU code.
2011-06-30 18:07:14 +00:00
Stanislav Shwartsman
84214f7119
added comment
2011-06-29 19:53:45 +00:00
Stanislav Shwartsman
03879cf90d
added infrastructure for prefetch support in the memory handlers
2011-06-29 19:48:46 +00:00
Stanislav Shwartsman
00981cd7a6
Adding Id and Rev property to all files
2011-02-24 22:05:47 +00:00
Volker Ruppert
525e5a46f7
- moved array 'rom_present' to the memory class and initialize it at startup.
...
This is required for the "second run" feature of the wx port. The simulation
thread can be run multiple times without restarting the application.
2011-02-11 15:33:08 +00:00
Stanislav Shwartsman
b5ebe5865e
Fixes for incoming bug report, missed changes in CVS, repository fixups and etc
2011-02-11 09:56:23 +00:00
Volker Ruppert
2d57f0c3e9
- moved array 'rom_present' to the memory class and initialize it at startup
2011-02-10 23:00:16 +00:00
Stanislav Shwartsman
c7dba3525a
Fixed warnings (patch from mailing list)
2010-08-15 19:57:50 +00:00
Stanislav Shwartsman
155c527e35
Enable 2M BIOS images
2010-05-18 09:01:08 +00:00
Stanislav Shwartsman
e3e797a2de
ready to enlarge supported BIOS ROM to 2M
2010-05-18 08:54:01 +00:00
Stanislav Shwartsman
44885c4ef5
rom_present is not need to be BX_MEM_C member
2010-05-17 19:42:30 +00:00
Stanislav Shwartsman
11de02bd89
MONITOR/MWAIT: rewritten MONITOR/MWAIT implementation from scratch
2010-03-07 09:16:24 +00:00
Stanislav Shwartsman
bd60e0264c
change Copyright to Bochs Project
2009-12-04 16:53:12 +00:00
Stanislav Shwartsman
d1a0303d43
Use 1M blocks to allocated memory - avoid crash with odd mem sizes
2009-10-24 14:37:44 +00:00
Stanislav Shwartsman
07222cc375
cleanup
2009-10-23 13:23:31 +00:00
Stanislav Shwartsman
da4722e257
optimize sr params
2009-10-16 18:29:45 +00:00
Stanislav Shwartsman
92aecadb18
allow to emulate more guest RAM that host could allocate, it is fine until guest tries to access all the allocated memory
2009-10-16 17:10:36 +00:00
Stanislav Shwartsman
140d2d1508
cleanups
2009-10-15 21:39:40 +00:00
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
6fe0b40b44
move a20 handling into getHostAddr method of BX_MEM
2009-03-08 21:23:40 +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
Stanislav Shwartsman
d7fa44d270
optimize code access detection
2008-12-05 22:34:42 +00:00
Stanislav Shwartsman
f303d61cc1
Fixed 'dirty page' support in debugger
2008-07-26 14:44:26 +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
25a9b9fef1
whitespace cleanup again
2008-02-03 20:27:06 +00:00
Stanislav Shwartsman
92f7a3a805
Fixed several compilation errors under OSX
2007-12-10 19:05: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
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
Volker Ruppert
0c827dcbf1
- implemented debugger access to SMRAM area
2006-10-02 17:40:20 +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
Stanislav Shwartsman
594b8cce47
Fixed segfault with bochs debugger but reported today
2006-05-31 17:20:52 +00:00
Stanislav Shwartsman
4fd9bd53c3
Change Bit32u -> bx_phy_address in memory
2006-03-28 16:53:02 +00:00