Commit Graph

132 Commits

Author SHA1 Message Date
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
Volker Ruppert
9a89ad7b07 - make debugger watchpoints in device memory work again (SF patch #1309763 by
Nickolai Zeldovich)
2005-10-01 09:52:35 +00:00
Volker Ruppert
2cb4d376fd - only panic if the VGABIOS checksum is wrong 2005-07-07 16:57:53 +00:00
Volker Ruppert
69fe0b00d4 - some more warnings in MSVC fixed 2005-06-07 19:26:21 +00:00
Stanislav Shwartsman
1755589376 Separate pageWriteStamp from ICACHE. The pageWriteStamp has totally independant structure and could be used in future with icache structure. Also it could be significantly speeded up using BX_SMF analog constructions. 2005-04-10 19:42:48 +00:00
Volker Ruppert
780bcd3579 - fixed getHostMemAddr() for memory regions assigned to a memory handler
(e.g. PCI PnP memory)
2005-01-29 23:29:08 +00:00