525 Commits

Author SHA1 Message Date
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
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
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
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
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
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
15efba10dd - ata/atapi options rewritten to a parameter tree
- siminterface get_param_*() methods num support a base parameter like the generic
  get_param() method
- new parameter lists now also have a generated id
- test function print_tree() now handles enum parameters correctly
- proposed parameter tree updated
2006-02-26 19:11:20 +00:00
Volker Ruppert
a4f412d3e8 - boot and loader options rewritten to a parameter tree
- wx: ParamDialog method EnableParam can now handle new-style parameters
- saving of pcidev options fixed
2006-02-23 22:48:57 +00:00
Stanislav Shwartsman
79306b851c Separate fetch/decode instruction block to stand-alone method.
The method could be reused when building instruction trace for DT
2006-02-23 18:23:31 +00:00
Volker Ruppert
c47508bdb1 - keyboard and mouse options rewritten to a parameter tree
- siminterface method ask_param() can now handle new-style parameters
- proposed parameter tree updated
2006-02-22 19:18:29 +00:00
Volker Ruppert
d4d4cbf6dd - display and interface options rewritten to a parameter tree
- new enum parameter method get_selected() returns a pointer to the selected string
- proposed parameter tree updated
2006-02-21 21:35:09 +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
2a6261fba7 - cpu options rewritten to a parameter tree
- boolean parameter type now supports new parameter handling
- new parameter object constructors now supports label initialization
- bx_list_c constructor now supports title initialization
- textconfig: initial support for new parameter handling
- wx: missing CPU config dialog added
- wx: ParamDialog now handles disabled parameters correctly
- removed unnecessary spaces from function calls
2006-02-18 16:53:18 +00:00
Volker Ruppert
a14b2a9720 - memory parameter handling rewrite completed
- added BXPN_* symbols for parameter names (taken from old save/restore branch)
2006-02-17 22:27:38 +00:00
Volker Ruppert
4cece81589 - started implementation of the parameter tree based on patch.param-tree
* memory parameter handling rewritten (not yet complete)
  * new reset() method for bx_list_c for recursive reset of all list members
  * memory options in wx now handled in a ParamDialog (ConfigMemoryDialog removed)
  * removed obsolete BXP_* constants in siminterface.h
  * updated proposed parameter tree
- constant BX_N_OPTRAM_IMAGES for optional RAM images limit added
2006-02-16 21:44:17 +00:00
Stanislav Shwartsman
0bf03f370d Support for DC and HT in SMP configurations
Extended format of CPU::COUNT .bochsrc option to define number of core/threads
2006-02-11 15:28:43 +00:00
Stanislav Shwartsman
6ca296de8b Move --enable-reset-on-triple-fault option to runtime CPU::reste_on_triple-fault option in .bocshrc
Cleanup and optimize parser for debugger
2006-02-01 18:12:08 +00:00
Volker Ruppert
a0f880b06d - show IPS value in the status bar of the Bochs window (win32 and x11)
- Bochs now compiles with BX_SHOW_IPS enabled on MSVC
2006-01-22 12:31:16 +00:00
Stanislav Shwartsman
2c8f6f7720 Merged patch: determine number of processors to emulate through .bochsrc 2006-01-18 18:35:38 +00:00
Stanislav Shwartsman
7739b7c8f2 Added description to BX_CPU_C defintion in main.cc 2006-01-17 08:02:25 +00:00
Stanislav Shwartsman
c92aba3776 Using back tracking in CVS I found the reason why CVS sources not compiled with configure --enable-debugger configuration (reported by Brendan).
Again it is andom change which cause to debugger not to compile ;(
This is definitelly GCC bug !
2006-01-17 07:58:11 +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
6913d6f152 indent change 2006-01-15 17:56:36 +00:00
Stanislav Shwartsman
d7d2de421f Remove code duplication in CPU and memory objects initialization 2006-01-11 18:22:12 +00:00
Stanislav Shwartsman
5899932f0c Merge APIC patch to the CVS.
- Fix lowest priority interrupt delivery from I/O APIC
 - XAPIC support
 - Implemented APIC bus functionality
 - cleanup APIC code
2006-01-10 06:13:26 +00:00
Stanislav Shwartsman
b07e698b3e Initialize CPU and APIC after the bx_pc_system object 2006-01-05 21:39:11 +00:00
Stanislav Shwartsman
8c91790680 Redefine registers accessors in cpu.h
Change BxSupportPAE and BxSupportGlobalPages macros to Bochs style names
Set bx_cpu_id in BX_CPU_C constructor (safe way)
Backup cpu-level check for paging features at compile time (already checked in configure)
Some warnings and indent fixes
speed up get_segment_base method for x86-64 case
2005-11-26 21:36:51 +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
Stanislav Shwartsman
f1f2647819 Print VME together with other features list 2005-10-17 14:48:43 +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
cc59e24639 - removed BX_USE_CONFIG_INTERFACE stuff. A configuration interface is always
present and a quickstart option exists, too
- improved check for GTK 2.x (only needed if basename of wx is 'wx_gtk2')
- moved/added some deprecated configure options to the end of the script. These
  checks should force users and distrubutors to update their config options.
2005-10-03 10:28:56 +00:00
Volker Ruppert
9e514095fa - modified Bochs console window name on win32 2005-08-20 16:41:41 +00:00
Volker Ruppert
38d6c547dc - accept argument /? as help request on win32
- devices configuration added on top of the logfile
2005-08-07 09:03:15 +00:00
Volker Ruppert
c83745753b - moved BX_SHARE_PATH check and definition to bochs.h
- small cleanup in bochs.h
2005-07-31 15:35:01 +00:00
Stanislav Shwartsman
f93bd1c664 Optimize SHOW_IPS calculation, now it does not require additional ips_count++ operation after every instruction execution 2005-07-04 18:02:37 +00:00
Stanislav Shwartsman
ddb6224b1e Do not print IPS in SHOW_IPS mode if no instructions executed 2005-04-16 19:37:53 +00:00
Volker Ruppert
8d02b01e41 - fixed a warning (extra token) 2005-04-15 12:02:10 +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
4ee7865930 - BX_GDBSTUB and BX_SUPPORT_X86_64 are always defined in config.h 2005-03-16 16:36:31 +00:00
Volker Ruppert
bafa4abb4b - print the status of thr PCI controller only when the configuration system and
the devices are initialized
- status of the fast-function-call optimization added to the logfile header
2005-01-30 08:54:49 +00:00
Volker Ruppert
f98ecd09b1 - changed wxWindows to wxWidgets (includes SF patch #1094407 by Alexander Schuch) 2005-01-05 19:54:32 +00:00
Volker Ruppert
02ae558db8 - removed old unused code designed for a save/restore feature
- fixed pcidev targets in iodev/Makefile.in
- updated all Makefile dependencies using a default setup (.conf.linux).
  TODO: dependencies should be generated at compile time since they depend on
  the config settings
2004-12-13 19:10:38 +00:00
Volker Ruppert
3cad938b05 - gdbstub support turned into a runtime option (SF patch #1021740 by Charles Duffy)
- gdb_* options moved to the new gdbstub option
2004-11-06 10:50:03 +00:00
Volker Ruppert
9a6a7ec2fd - rom address space check added to avoid overlapping rom images
- vgaromimage option now compatible with the other rom options. Old style syntax
  (without 'file=...") is still supported.
- load order for the rom images fixed (system, vga, other)
- rom images sizes not multiple 512 cause a BX_INFO for now. The original check
  will be enabled after updating the vgabios files
- optromimage error messages fixed
- some updates of the bochsrc sample
2004-09-01 18:12:23 +00:00
Volker Ruppert
d06c80cee3 - changed all iodev config macros to BX_SUPPORT_xxx
- removed incorrect SDL/ prefix from include paths (patch from Robin KAY)
2004-08-06 15:49:55 +00:00
Stanislav Shwartsman
f9bd2b74be 1. Fixed bug in FSUB instruction
2. Fixed bug

[ 989478 ] I-Cache and undefined Instruktions

The L4 microkernel uses an undefined instruction to
trap for a special requests into the kernel (LOCK NOP).
The handler fixes this up and gives the user a special
code page with syscall stubs. If you're not using the
I-Cache optimization everthing works find on bochs. But
if you enable the I-Cache (--enable-icache), then the
undefined opcode exception is thrown only once for ever
virtual address it occurs. See the demodisk of the
L4KA::pistachio
(http://www.l4ka.org/projects/pistachio/download.php).
In this case the pingpong benchmark of this demo is of
interest. Everything runs fine until the program tries
to spawn a new task for its measurements. This new task
shares the code of the creating program. But the new
task stops executing at the undefined instruction
explained above and no exception is thrown.
2004-07-29 20:15:19 +00:00
Stanislav Shwartsman
5873b26a82 Speed up compilation process.
bochs.h already not include iodev.h which reduces compilation dependences for almost all cpu and fpu files, now cpu files will not be recompiled if iodev includes was changed
2004-06-19 15:20:15 +00:00
Stanislav Shwartsman
47fd2820ae split main.cc to main.cc + config.cc 2004-06-04 22:06:55 +00:00
Volker Ruppert
8ba66c78a3 - sb16 options dmatimer and loglevel now present in the textconfig runtime options
- textconfig runtime menu: some options moved to submenu "Misc runtime options"
- bx_param_c: variable group_name and methods set_group() / get_group() added
- bx_list_c: new flag SHOW_GROUP_NAME added (used for SB16 options in runtime menu)
2004-05-30 08:28:52 +00:00