Commit Graph

275 Commits

Author SHA1 Message Date
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
01f27e3a0c this should fix bug report 3422638 large ramfile support broken on anything but Linux 2011-10-15 19:29:42 +00:00
Stanislav Shwartsman
30b94b112b regen Makefile.in dep 2011-08-18 05:44:54 +00:00
Stanislav Shwartsman
a03e0266fb added yonah CPUID to cpudb. remove bxversion.h from dep files 2011-08-16 19:58:56 +00:00
Stanislav Shwartsman
955f889925 change bx_info to bx_dbg 2011-07-29 08:16:28 +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
16021a0ddb rename model_specific.h to be cpuid.h 2011-03-19 17:35:18 +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
Volker Ruppert
44ece7cf26 - including vga.h in iodev.h no longer necessary and symbol NO_DEVICE_INCLUDES
is useless then
- updated makefile dependenies
2011-01-24 20:35:51 +00:00
Stanislav Shwartsman
9c4cca1144 optimize SMC detection from memory.cc as well 2011-01-04 21:03:44 +00:00
Stanislav Shwartsman
9aa503cb9d fixed warnings for win64 compilation 2010-11-23 14:59:36 +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
d22427ede1 mark places what have to be fixed to enable 2M BIOS ROM images 2010-05-18 07:44:37 +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
79466dffe2 apic virtualization + vmx fixes 2010-03-16 14:51:20 +00:00
Stanislav Shwartsman
11de02bd89 MONITOR/MWAIT: rewritten MONITOR/MWAIT implementation from scratch 2010-03-07 09:16:24 +00:00
Stanislav Shwartsman
5df864b1f1 Move param_names.h into bochs root folder 2010-02-26 14:18:19 +00:00
Stanislav Shwartsman
bd60e0264c change Copyright to Bochs Project 2009-12-04 16:53:12 +00:00
Stanislav Shwartsman
714a537a77 fixed typo bug causing Bochs crash 2009-11-29 17:24:29 +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
3457cbb78c Fixed PANIC message about all allocated memory already used 2009-10-23 08:50:07 +00:00
Stanislav Shwartsman
1c70aad0f9 fixes for >=4G physical memory 2009-10-17 18:42:15 +00:00
Stanislav Shwartsman
0a86c3c06f fixed restore bug 2009-10-16 21:54:00 +00:00
Stanislav Shwartsman
da4722e257 optimize sr params 2009-10-16 18:29:45 +00:00
Stanislav Shwartsman
ab3f2cb6d3 desctructor fixes 2009-10-16 17:21:49 +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
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