Commit Graph

5353 Commits

Author SHA1 Message Date
Volker Ruppert
49a642ef39 - forward PIRQ register changes to the I/O APIC inputs 16...19 if present 2006-04-23 08:46:07 +00:00
Volker Ruppert
52c4666465 - partial sync with BRANCH_SAVE_RESTORE_3 (hardware save/restore not present yet)
* fixed minimum limit of signed variable types
  * don't set the initial value of shadow parameters
  * fixed range check for shadow parameters
  * added support for setting the value base (decimal/hex) of numeric shadow parameters.
    The text format hex number is now initialized in the constructor
  * added missing newline after filename for binary data
  * fixed data size of 64-bit shadow parameters
  * fixed save/restore output format of numeric parameters (signed/unsigned/64-bit)
  * cpu/init.cc: fixed macro name and added missing #undef line
2006-04-22 18:14:55 +00:00
Volker Ruppert
eb2104d0de - parameters for the wx debugger moved to a separate subtree to avoid conflicts
with the proposed save/restore feature
- fixed a warning in the cpu parameter handler for the wx debugger
2006-04-16 10:12:32 +00:00
Volker Ruppert
96b101e60d - the print_tree() function now reports binary data (for save/restore) and unknown
parameter types
2006-04-16 09:29:02 +00:00
Volker Ruppert
36498746c1 - some more work for the save/restore feature in the plugins and devices code
* register_state() will be called after init() and registers the device members
    required for save/restore
  * before_save_state() can do some work before the device state is saved by the
    siminterface
  * after_restore_state() can do some work after the device state has been
    restored (updating dependant stuff)
2006-04-15 17:03:59 +00:00
Volker Ruppert
14107f56fa - some more work for the save/restore feature in the siminterface
* new parameter object type bx_shadow_data_c for binary arrays (e.g. system
    and video memory, CMOS RAM, PCI config space)
  * save_state() completed and restore_hardware() implemented
  * get_sr_root() returns the list with the save/restore subtree
2006-04-15 14:05:18 +00:00
Volker Ruppert
a8bfc2d2bf - fixed memory leaks 2006-04-14 13:27:17 +00:00
Volker Ruppert
86a0aada3b - save support for user-defined options added 2006-04-14 08:07:24 +00:00
Volker Ruppert
bbef36f5c1 - save/restore functions now available in wx
- config file read/save functions fixed
2006-04-12 20:51:24 +00:00
Stanislav Shwartsman
663eed8cd2 Extend debug message for not-supported APM command register 2006-04-10 19:43:47 +00:00
Stanislav Shwartsman
d972e4a4b7 Fixed CR3 restore in RSM instruction
Added HALT state indication (actually make existant one working for single CPU)
2006-04-10 19:05:21 +00:00
Stanislav Shwartsman
df70fa0a2f Indent changes 2006-04-10 19:02:30 +00:00
Volker Ruppert
0396a9d86f - save state function now supported on win32 in the runtime dialog
- for the BrowseDir() function Bochs for win32 needs to be linked with SHELL32.DLL
  (currently used for the save/restore support only)
- save/restore support symbol name changed
2006-04-09 13:55:55 +00:00
Volker Ruppert
841c802e6b - save/restore of log options implemented (using bochsrc style)
- log options must be restored after initializing all devices
- menu items and descriptions for save/restore updated
- TODO: implement access to save/restore functions for win32 and wx
2006-04-09 09:05:30 +00:00
Volker Ruppert
c7c1d25175 - execute save/restore only if the path is != 'none'
- save/restore menu items and description now shows the current capabilities
- type of default value for ask_string() changed to 'const char'
2006-04-08 16:25:52 +00:00
Stanislav Shwartsman
e7565760f7 Fixed compilation error when DEBUGGER is enabled 2006-04-07 20:53:39 +00:00
Stanislav Shwartsman
45f30f0a4c some code written to enter CPU to shutdown state.
finally the shutdown handling should be done exactly as in VmWare - the GUI should ask user if the CPU should reset and go to HLT/IF=0 if user choosed to stay in shutdown mode.
CPU configure option reset-on-triple-failt should be extended to shutdown-reset=0|1
small code cleanups and fixes
2006-04-07 20:47:32 +00:00
Volker Ruppert
97520ff814 - save/restore of the configuration implemented (in bochsrc format)
- don't load another config file if the restore flag is set
- disabled restore_hardware() for now (will be enabled when save/restore is
  complete and stable)
2006-04-07 12:49:50 +00:00
Stanislav Shwartsman
6aadcd5208 Started implemntation of APM control and status regs 2006-04-07 10:48:54 +00:00
Volker Ruppert
74c8c05d22 - prepared save/restore feature
- some siminterface types changed
2006-04-06 20:42:51 +00:00
Stanislav Shwartsman
e15980c348 Specify new depracated options in configure script 2006-04-06 19:14:34 +00:00
Stanislav Shwartsman
7a1d0a53d7 Small cleanup 2006-04-06 18:45:54 +00:00
Stanislav Shwartsman
d88b5c91d8 Update CHANGES 2006-04-06 18:43:02 +00:00
Stanislav Shwartsman
03eac64013 Added decoding of new SSE4 instructions (recently published in Intel docs)
At least CPUID detects them correctly
The code is never tested (still) ! (but should work fine)
2006-04-06 18:30:05 +00:00
Stanislav Shwartsman
c8cc6bcd14 Remove code duplication from SMM code 2006-04-06 16:47:29 +00:00
Stanislav Shwartsman
41204ede1a Fixed compilation err with debugger ON 2006-04-06 16:43:36 +00:00
Stanislav Shwartsman
c7773adac4 Norhing changed in funtionality, just make the file significantly smaler by removing extra spaces 2006-04-05 20:54:30 +00:00
Stanislav Shwartsman
9dc1790f07 Simplify and optimize fetchdecode methods.
Now fetchdecode is simpler to understand and easier to modify, for example to support 3-byte opcodes (SSE4)
2006-04-05 20:52:40 +00:00
Stanislav Shwartsman
7cc921d1df Prepare configure support for SSE4 implemntation (coming soon)
Rename _GAME configure macro to _GAMEPORT
2006-04-05 18:49:35 +00:00
Stanislav Shwartsman
b9dedc8412 Added missed file from prev commit (waiting for moderator approval, message is too big)
Summary changes:
- Fixed critical ICACHE bug from one of the recent commits
- Complete preliminary SMM implemntation, SMI still PANICs but 'alwayscont' should work fine
- Correctly decode, disassemble and execute 'XCHG R8, rAX' x86-64 instruction
- Correctly decode, disassemble and execute multi-byte NOP 0F F1 opcode
- Fixed ENTER and LEAVE instructions in x86-64 mode
- Disasm SSE4 instructions
- Rename PNI->SSE3 everywhere in the code
2006-04-05 17:44:04 +00:00
Stanislav Shwartsman
f8c3968d42 Changes list made after CVS service crash:
- Fixed critical bug in CPU code added with one of the prev commits
  - Disasm support for SSE4
  - Rename PNI->SSE3 everywhere in the code
  - Correctly decode, disassemble and execute 'XCHG R8, rAX' x86-64 instruction
  - Correctly decode, disassemble and execute multi-byte NOP 0F F1 opcode
  - Fixed ENTER and LEAVE instructions in x86-64 mode
  - Added ability to turn ON instruction trace, only GUI support is missed.
    Instruction trace could be enabled if Bochs was compiled with disasm
  - More changes Bit32u -> bx_phy_address
  - Complete preliminary implementation of SMM in Bochs, SMI is still PANICs but if you press 'continue' everything should work OK
  - Small code cleanup
  - Update CHANGES and user docs
2006-04-05 17:31:35 +00:00
Stanislav Shwartsman
c2455e7c1e Fixed warning 2006-04-05 17:23:51 +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
Volker Ruppert
ba597401a2 - user-defined config option support implemented 2006-04-05 16:05:11 +00:00
Volker Ruppert
6ce71008f6 - fixed submenu (child list) handling in do_menu()
- base parameter for do_menu() is now obsolete
2006-03-29 20:31:51 +00:00
Volker Ruppert
8d178b107b - prepared user-defined config option support 2006-03-29 19:27:31 +00:00
Stanislav Shwartsman
a6c3ffeeb5 Fixed compilation error 2006-03-29 19:16:24 +00:00
Stanislav Shwartsman
ae2ea87c43 More fixes for SMM 2006-03-29 18:08:13 +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
42aac37624 Fixed complilation error 2006-03-27 20:09:37 +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
Volker Ruppert
6cbdf98b38 - header of log options table is now always visible
- removed unnecessary spaces after function names
2006-03-26 15:52:31 +00:00
Volker Ruppert
a63349eac5 - fixed cdrom capacity of ISO image files
- ATAPI cdrom read commands: starting block number needs to be checked
2006-03-26 00:38:58 +00:00
Stanislav Shwartsman
6ceac4c788 Fixed compilation error reported in #SF bug tracker 2006-03-25 18:04:15 +00:00
Volker Ruppert
26c67216ed - check TC on every DMA cycle (partial sector transfers now supported) 2006-03-25 12:14:13 +00:00
Stanislav Shwartsman
03a5c22a64 Fixed debugger help command 2006-03-24 21:01:44 +00:00
Volker Ruppert
4ca0b26b20 - fixed compile error on FreeBSD 2006-03-23 18:28:40 +00:00
Stanislav Shwartsman
bc4ca51055 Fixed disasm of 'enter' instruction in AT&T mode 2006-03-23 17:43:39 +00:00
Stanislav Shwartsman
f347ab97bf Fixed CALL/JMP far through call gate 64
Decode SWAPGS and RDTSCP instructions
Indent changes in fetchdecode
2006-03-22 20:47:11 +00:00
Volker Ruppert
912b07fde8 - fixed a memory leak 2006-03-22 18:06:16 +00:00
Volker Ruppert
6048821249 - fixed a warning and some remaining unicode issues
- removed unnecessary spaces after function names
2006-03-19 15:35:20 +00:00
Volker Ruppert
2439c65acf - wxWidgets unicode fixes completed 2006-03-19 09:24:10 +00:00
Volker Ruppert
6106f1c905 - some more fixes for unicode support (wxT("string") conversion) 2006-03-18 16:30:52 +00:00
Stanislav Shwartsman
a52301c56c Remove the patch, it was successfully merged to CVS 2006-03-16 20:38:32 +00:00
Stanislav Shwartsman
d6f85c12f6 NMI support inside the CPU.
Added two functions to query NMI and SMI from Bochs debugger.
In future they could be used for generating NMI or SMI by user request using GUI button (could be implemented separatelly later and under configure-time or .bocshrc option)
2006-03-16 20:24:09 +00:00
Stanislav Shwartsman
a64b16391d Remove unused vars 2006-03-15 17:57:11 +00:00
Volker Ruppert
d456b8ceb4 - fixes for unicode support in wx.cc (grabbed from FC5 patch for Bochs) 2006-03-14 18:13:08 +00:00
Stanislav Shwartsman
e85a90a720 Remove cpu.h -> devices.cc dependancy, kill_bochs_request moved from CPU to bx_pc_system
Small Icache simplification and speedup
2006-03-14 18:11:22 +00:00
Volker Ruppert
2e144d5862 - changed some function argument and return types from char * to const char *
(grabbed from patch included in FC5 Bochs package for wxWidgets 2.6.x)
2006-03-13 18:55:53 +00:00
Volker Ruppert
7997876711 - implemented GTK2+ detection for wxGTK (patch by Guillem Jover <guillem@debian.org>)
- selection of required wx libraries to link only works with version 2.6.x
2006-03-13 17:18:33 +00:00
Volker Ruppert
96a47a4055 - fixed parameter check before calling the "Show CPU" dialog
- wxBochs needs to be linked with the wxWidgets core and base libraries only
2006-03-12 15:13:03 +00:00
Volker Ruppert
9a1c64721e - fixed parameter check before calling the "Show CPU" dialog
- wxBochs needs to be linked with the wxWidgets core and base libraries
2006-03-12 15:11:54 +00:00
Volker Ruppert
4e4df52109 - added new function bx_stop_simulation() to stop the Bochs simulation thread
(used by wx). Now the siminterface no longer depends on cpu.h
2006-03-11 22:40:32 +00:00
Volker Ruppert
568b41c659 - re-implemented LogOptionsDialog based on ParamDialog 2006-03-11 10:00:56 +00:00
Volker Ruppert
9699eaeca4 - added SMP support in save/restore parameter subtree
- TODO: implement tab window control for SMP CPUs in wx "show cpu" dialog
2006-03-09 20:16:17 +00:00
Stanislav Shwartsman
7ba6e5a2bb Forgot to check-in main.cc
But anyway - this is more clear fix which also fixes code duplication
2006-03-08 20:10:29 +00:00
Stanislav Shwartsman
4c3f229ff1 This should fix problem with non-PCI ne2k device 2006-03-08 19:28:37 +00:00
Stanislav Shwartsman
3ec2e9e7de Fixed segfault in SMP mode 2006-03-08 19:27:56 +00:00
Stanislav Shwartsman
d74f1b9a43 Fixed bug in ENTER instruction in long mode 2006-03-08 18:21:16 +00:00
Volker Ruppert
5597fc9cf3 - fixed wx "Show CPU" dialog to make it work with the new parameter handling
- fixed CPU register names
- removed old parameter handling (bx_id, BXP_* symbols, param_registry, etc.)
2006-03-08 18:10:41 +00:00
Stanislav Shwartsman
77653bcf3d More indent and C++ style changes (explicitly write virtual before virtual desctructors).
The PCI read/write handlers written in new C++ - more flexible and easy-to-understand
2006-03-07 21:11:20 +00:00
Volker Ruppert
575a17e50f - converted cpu state parameters to param-tree style
- removed old-style parameter init methods
- NOTE: the wx CPU registers dialog (debugger) currently reports nothing
- TODO: fix wx CPU registers dialog, remove remaining bx_id related stuff
2006-03-07 20:32:07 +00:00
Stanislav Shwartsman
242c2fa51c Style and indent changes 2006-03-07 18:16:41 +00:00
Volker Ruppert
c66191bd13 - prepared save/restore subtree to make the conversion of the cpu and keyboard
parameters of the wx debugger possible
- started rewrite of shadow parameters and converted keyboard parameter stuff
- test function print_tree() now shows raw byte strings correctly
- removed unnecessary spaces
2006-03-07 17:54:27 +00:00
Stanislav Shwartsman
da0b2ac377 Update dependencies for iodev and root project folders.
Fixed compilation errors for 386 case
Added file header for slowdown_timer.h
2006-03-06 22:32:03 +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
Volker Ruppert
0c573d15cf - fixed compile error (missing typecast)
- fix for parameter objects without a parent list
- textconfig: logfile options moved to a submenu
- obsolete parameter init methods removed
2006-03-06 18:50:55 +00:00
Stanislav Shwartsman
d09e644f45 Memory access handling explanation by Brendan 2006-03-06 06:32:03 +00:00
Volker Ruppert
dd7e08de99 - remaining config options and special menus added to parameter tree
- parameter tree structure updated (TODO: should be moved to development.dbk)
- code cleanup: bx_options stuff and obsolete parameter access methods removed
- TODO: rewrite of shadow parameter stuff (for subtree "save_restore")
2006-03-05 10:24:29 +00:00
Stanislav Shwartsman
fc0894bbe1 Enable A20 after system reset 2006-03-04 16:58:10 +00:00
Volker Ruppert
dbe0918d59 - text snapshot check option added to parameter tree
- GDB stub options are now regular parameters
- syntax of text_snapshot_check bochsrc directive changed
2006-03-04 12:43:47 +00:00
Stanislav Shwartsman
93898e11b2 Missed } 2006-03-04 09:24:31 +00:00
Stanislav Shwartsman
324d75e749 Fix another broking change 2006-03-04 09:22:55 +00:00
Volker Ruppert
e1b42d183a - sb16 options rewritten to a parameter tree
- sb16 parameters stored in the device class and runtime parameter handler added
- wx: ParamDialog can currently handle only dependency lists of bool parameters
  correctly (TODO: add support for numeric parameters)
2006-03-03 20:29:50 +00:00
Stanislav Shwartsman
b3420e7e56 Only indent and style changes 2006-03-03 20:15:07 +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
6d513ed6f2 Fix indent corruption 2006-03-02 20:17:54 +00:00
Volker Ruppert
dafe33fc84 - network options rewritten to a parameter tree
- disable usb options if not compiled with usb support
- usb and network dependency list created with menu->clone()
- load usb plugin only if at least one hub is present
- remaining options prepared for rewrite
- proposed parameter tree updated
2006-03-02 20:13:14 +00:00
Stanislav Shwartsman
6c392e7f3f optimize apic code 2006-03-02 20:09:21 +00:00
Stanislav Shwartsman
7cc8bc0836 Clean and optimize 2006-03-02 17:39:10 +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
Volker Ruppert
62cfd57854 - wx: fixed possible crash if parent parameter is NULL
- network options prepared for rewrite
- ata device enum type option handling simplified
2006-03-01 21:24:20 +00:00
Volker Ruppert
9196541d58 - fixed USB runtime parameter names 2006-03-01 17:56:32 +00:00