Commit Graph

171 Commits

Author SHA1 Message Date
Stanislav Shwartsman
f71f2712a2 Removed duplicate code 2007-09-22 16:04:47 +00:00
Stanislav Shwartsman
c719eecb8d Implemented Bochs benchmarking mode according to feature request
[ 1799946 ] benchmark mode
2007-09-22 15:59:41 +00:00
Volker Ruppert
16812f0ad2 - fixed some gcc 4.x warnings 2007-04-08 15:02:50 +00:00
Volker Ruppert
d9edfeec9c - show the line number in the error message when parsing the bochsrc file. The
format of the message is now "filename:line: error".
2007-04-03 15:47:23 +00:00
Volker Ruppert
b1bf1a8bf5 - documentation update after USB devices rewrite
- removed obsolete structures and members from the USB code
- removed mouse type 'usb' (USB mouse and tablet override selected mouse type
  when connected)
- user doc: mention vmware 4 disk image support
2007-03-27 17:47:15 +00:00
Stanislav Shwartsman
5e4553500b Do not print address = 0 in BIOS address param. This means deafult value - so kepp it omitted and read te default value. 2007-03-18 22:27:37 +00:00
Volker Ruppert
7956e47de8 - removed USB port option parameter and store device and option in one single
string. This is better for devices that need to know all it's options when
  connecting to the port. Device name and option should be separated with a
  colon. The USB device 'disk' now uses this format ('disk:usbdisk.img).
- the pciusb plugin must be linked with cdrom.o
2007-03-18 17:52:15 +00:00
Volker Ruppert
d7c627fdc1 - added support for serial 3-button mouse with Mousesystems protocol 2006-12-31 11:56:14 +00:00
Volker Ruppert
edc6a6cf4d - disable ATA device when the path parameter is empty (useful to override bochsrc
settings with the command line)
2006-12-29 18:47:58 +00:00
Volker Ruppert
ed3a41ac63 - since the print_tree() function is only used by the debugger, it has to use
dbg_printf() to make the redirection of the output to a gui frontend possible
2006-11-12 21:25:06 +00:00
Volker Ruppert
b9352f74fd - moved config interface option to the general options list, since it cannot be
changed after initializing the config interface
- PARAM_TREE.txt updated and cleaned up (TODO: improve developer documentation
  and get rid of this file)
2006-10-08 10:18:51 +00:00
Volker Ruppert
24e82e2580 - default NE2000 ISA base i/o address changed to 0x300 (probed by most of the
ne2k drivers, DLX Linux cannot detect it at 0x240)
2006-09-12 19:26:12 +00:00
Stanislav Shwartsman
275ea4f7c9 - Allow to control SMP quantum value through .bochsrc CPU
option parameter. Previous Bochs version used hardcoded quantum=5
    value.
2006-06-21 20:42:26 +00:00
Stanislav Shwartsman
453ffd1e17 Fix more ugly strdup calls 2006-06-05 19:06:36 +00:00
Stanislav Shwartsman
c8c5772f44 1. Fix BX_INFO message in config.cc
2. In init.cc save and restore BX_CPU_THIS__PTR trace value, allows to enable/disable tracing using save/restore.
3. in iret.cc - cleanup3. in iret.cc - cleanup3. in iret.cc - cleanup
2006-06-05 17:33:25 +00:00
Stanislav Shwartsman
4b7e7087aa Handle more fields memory management insie the bx_param_c.
Remove more strdups
2006-05-30 17:01:27 +00:00
Stanislav Shwartsman
fee48d74e0 Avoid doing strdup for param name field - most of the strdups elliminated ! 2006-05-29 22:33:38 +00:00
Michael Brown
685b1da64e Fix compilation 2006-04-25 15:59:20 +00:00
Volker Ruppert
86a0aada3b - save support for user-defined options added 2006-04-14 08:07:24 +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
74c8c05d22 - prepared save/restore feature
- some siminterface types changed
2006-04-06 20:42:51 +00:00
Volker Ruppert
ba597401a2 - user-defined config option support implemented 2006-04-05 16:05:11 +00:00
Volker Ruppert
8d178b107b - prepared user-defined config option support 2006-03-29 19:27:31 +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
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
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
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
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
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
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
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
154702eaca - serial, parallel and usb options rewritten to a parameter tree
- bx_init_options(): local variables cleanup
- hide floppy devtype parameter (floppy media type change support not yet complete)
- wx: menu order changed
- keyboard.cc: removed obsolete FIXME
- proposed parameter tree updated
2006-03-01 17:14:36 +00:00
Volker Ruppert
388747feec - removed unnecessary strdup() calls (memory leaks)
- strdup() is necessary for the ata device name (master/slave)
- added missing initialization of the member 'enable_handler'
- clone() method now uses the original title for the new list
2006-02-28 14:02:06 +00:00
Volker Ruppert
48bb9719a6 - fixed number of initializers for ATA options if BX_MAX_ATA_CHANNEL < 4
- changed ask_param() method argument to param pointer (fixes win32 cdrom dialog)
2006-02-27 09:37:58 +00:00
Volker Ruppert
f1acec3ffd - fixed win32 floppy dialog after implementing new parameter handling
- fixed enabling of two ATA controllers by default
2006-02-26 22:36:01 +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
6cd4ffff28 - floppy options rewritten to a parameter tree
- enum parameter type method set_by_name() fixed
2006-02-24 22:35:46 +00:00
Volker Ruppert
4ef1a50a35 - new method get_param_path() returns the full path of new-style parameters
- keyboard type option handling simplified
- wx: show the list title as the group box title of pcidev options
2006-02-24 12:05:24 +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
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
d364481bed - pcidev options rewritten to a subtree of parameter "pci"
- save pcidev config line if enabled
- load pcidev plugin if requested
- pci parameter dependencies improved
- textconfig: show the title of a disabled submenu
2006-02-20 21:29:13 +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
509900dff4 - clock and cmos options rewritten to a parameter tree
- clock/cmos menu added in textconfig and wx
- enum parameter type now supports new parameter handling
- long text format for numeric parameters added (useful when both textconfig and
  wx are present)
- wx: handling of list flag USE_BOX_TITLE fixed
- textconfig: optional memory features moved to submenus
- siminterface generates a unique id for new parameters (used for wx dependencies)
- proposed parameter tree updated
- floppy options init code cleanup (still using old-style parameters)
2006-02-19 15:43:03 +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
22adda781e Fix the check for cpu::count param 2006-02-12 20:05:03 +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
500f2b65b9 - improved warnings for deprecated bochsrc options
- updated documentation after adding the ips parameter to the cpu option
- fixed special character (ampersand) in debugger documentation
2006-01-25 20:07:36 +00:00
Stanislav Shwartsman
3e34905280 Indent fixes, add WARNING when using old style IPS directive 2006-01-23 18:39:10 +00:00
Volker Ruppert
6f28406d3a - added parameter 'ips' to the cpu option. This parameter will replace the
ips option after release 2.2.6
- ips description updated
2006-01-22 10:03:38 +00:00
Stanislav Shwartsman
2c8f6f7720 Merged patch: determine number of processors to emulate through .bochsrc 2006-01-18 18:35:38 +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
531c75c002 - keyboard/mouse runtime parameter handlers moved into the device code
- minor code cleanups
2005-12-02 17:27:19 +00:00
Volker Ruppert
c227c822b8 - USB runtime parameter handling prepared in the device code 2005-11-29 20:46:17 +00:00
Volker Ruppert
cef74b528a - moved runtime handler for 'vga_update_interval' into the device (TODO: this could
be done with some parameters, e.g. mouse, keyboard, usb)
2005-11-27 17:49:59 +00:00
Volker Ruppert
b84c7d4d77 - enable two ATA channels by default (needed for PCI)
- prepared USB runtime options
2005-11-27 09:00:20 +00:00
Volker Ruppert
35375dd574 - floppy image size autodetection now available in the whole config interface
(it was only present in bochsrc parser)
- floppy media type is now a runtime parameter (TODO: full media type support
  needs some work in the floppy emulation code)
- floppy media type added to win32 floppy dialog
2005-11-20 17:22:44 +00:00
Volker Ruppert
ba8d4be9ae - simplified parsing of log level options
- some missing initial values for string parameters added
2005-11-17 20:35:38 +00:00
Volker Ruppert
aa04797148 - i440fxsupport is now enabled by default if compiled in
- missing reset of PCI slot options added
- parsing of i440fxsupport config line rewritten
- vga_update_interval default value changed to 40000 and docs updated
- some more documentation updated including default values for some bochsrc options
2005-11-13 14:26:02 +00:00
Volker Ruppert
e0f02463f9 - the step delay for the recalibrate and seek commands is now calculated from the
number of steps to do, the step rate time and the date rate
- the option floppy_command_delay is obsolete now, since all floppy delays are
  based on the hardware specs. The usage of this option caused a warning now.
2005-11-12 10:38:51 +00:00
Volker Ruppert
9934d3b46b - prepared USB flash stick implementation (patch by Ben Lunt - not yet complete) 2005-11-07 19:06:05 +00:00
Volker Ruppert
c92fd65c65 - enabled support for harddisks with up to 127 GB in Bochs and bximage
- BIOS harddisk detection message is now okay if size is < 64 GB
2005-11-06 16:50:30 +00:00
Volker Ruppert
93355486d2 - in text runtime config skip non-runtime options in lists with SERIES_ASK set
- added runtime flag for floppy options
2005-11-06 09:11:09 +00:00
Volker Ruppert
f2b22d449f - fixed dependencies in disk section of the text mode start menu 2005-10-31 12:53:11 +00:00
Volker Ruppert
426582fcfc - fixed compile error in case the unimplemented compressed hd support is enabled
- using unimplemented hd mode causes error "not implemented yet"
2005-10-28 13:49:24 +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
3658399a4a - maximum length of user shortcut string set to 20
- old-style user shortcut detection fixed
- bx_param_string_c value needs one byte more space for the final null character
2005-10-22 08:07:53 +00:00
Volker Ruppert
d2e158abf1 - now method set_initial_val() for string parameters allows setting the default
value for romimage/vgaromimage  options based on the builtin BXSHARE variable
- default ips value increased to 2000000
2005-10-15 10:43:55 +00:00
Volker Ruppert
847f1d293e - some more keys supported by user shortcut feature with new-style syntax
- usage of old-style syntax for 'user_shortcut' now causes a warning
- deprecated options 'pit' and 'time0' now cause an error
- old disk options completely removed from bochsrc parser
- documentation changes: 'pit' and 'time0' removed, 'user_shortcut' updated
2005-10-10 19:32:53 +00:00
Volker Ruppert
0cacb9af0c - deprecated option 'newharddrivesupport' removed from hard drive code
- sense code ASC_ILLEGAL_OPCODE added for unimplemented/unknown ATAPI commands
- some panics changed to errors
- unsupported bits message in drive and head register changed to BX_DEBUG
- improved info about not existing drive
- indent mode fixed in ATAPI packet command section
2005-10-02 10:16:54 +00:00
Volker Ruppert
ae3621fb5f - removed temporary PCI base address initialization in the reset() functions
- removed obsolete parameters for usb1 and pnic (now assigned by the PCI BIOS)
- PCI base address register mechanism now leaves the flags untouched
- missing reset of pnic options added
2005-09-22 21:12:26 +00:00
Volker Ruppert
0706c5bcfb - renamed cmos image parameter to 'rtc_init'
- bochsrc sample: example for serial mode 'socket' added
2005-09-18 07:16:28 +00:00
Volker Ruppert
fb44fe9ed1 - removed disabled code for obsolete split-HD support
- missing return value added
- fixed indent mode in modified section
- fixed some typos
2005-09-14 19:52:41 +00:00
Volker Ruppert
c58b8b54c3 - binary RTC mode implemented
- cmos image options renamed
- new cmos option controls the usage of the RTC values from image
- report time0 in use after handling the cmos image stuff
- MSVC warning fixed
2005-09-11 20:03:56 +00:00
Volker Ruppert
aa648dd621 - now using the function get_builtin_variable() to get the default path for
the rom images. This is more accurate on win32 and fixes MSVC compilation error.
2005-08-13 16:49:11 +00:00
Volker Ruppert
ea1898d46a - initialize romimage and vgaromimage path using the BX_SHARE_PATH value and the
default filenames
- romimage options now appear below the memory size option
- indent mode changed and some comments updated
2005-08-07 15:50:07 +00:00
Volker Ruppert
ea18b29e12 - geometry autodetection for 'flat' hard disk images added. It works with all
images created with bximage (heads = 16, sectors per track = 63)
- size check for 'flat' hard disk images added. The image size is now compared
  with the size calculated from the geometry.
2005-08-06 18:29:36 +00:00
Volker Ruppert
50dc860e0d - initialize optromimage parameters in a for loop
- method set_format() is required in more cases (for hex numbers in wx dialogs
  and in the plugin version with both config interfaces)
2005-08-03 19:24:20 +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
Volker Ruppert
bff2c04c5b - com->socket redirection support added (initial SF patch #1107945 by Andrew Backer) 2005-07-10 16:51:09 +00:00
Volker Ruppert
af6d077766 - changed some default timing settings to more useful values 2005-06-08 18:25:49 +00:00
Volker Ruppert
69fe0b00d4 - some more warnings in MSVC fixed 2005-06-07 19:26:21 +00:00
Volker Ruppert
6ce4b96f6b - parsing of comX, parportX and usbX options simplified similar to ataX options 2005-04-03 15:00:44 +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
4b645a58a5 - enable vga extension "vbe" by default if present. Cirrus support must be
enabled with the vga extension option
2005-03-08 21:37:00 +00:00
Stanislav Shwartsman
de527e2dde Do not allow to allocate more than 2048Mb of emulated memory.
Anyway in most of systems it fails to allocated even 1024Mb and allocating more than 4096Mb causes overlap and unpredicted behaviour.
2005-03-06 21:23:38 +00:00
Volker Ruppert
a16fbc293a - vga extension option partially implemented (Bochs VBE interface and PCI VGA
dummy interface are now disabled if the extension isn't set to "vbe"
- writing charmap data in graphics mode now supported (SF patch #1059199)
- fixed set_ask_format() for the mouse type option
2005-02-01 19:16:39 +00:00
Volker Ruppert
ad8c2d774c - all USB hubs must be disabled by default 2005-01-24 17:22:34 +00:00
Volker Ruppert
ccde06a25d - removed support for deprecated options diskc, diskd, cdromd and newharddrivesupport
- updated docs after removing options
- some other bochsrc option updates in user.dbk and bochsrc manpage
2005-01-08 19:55:55 +00:00
Volker Ruppert
aa5fa1daf3 - prepared usb port configuration parameter and removed usb irq parameter
(assigned by BIOS)
- fixed some issues in bx_write_configuration()
- fixed bug in ne2k/pnic option parser (failed when disabling disabled device)
2004-12-30 14:50:37 +00:00
Volker Ruppert
17b29a0b30 - applied a set of patches from SF patch #1083218 by Ben Lunt with some changes
- mouse type constants changed to enum values and related changes in config.cc
2004-12-16 19:05:01 +00:00
Volker Ruppert
d5684940a1 - renamed parameters that control the sb16 and ne2k presence to "enabled"
- ne2k and sb16 config lines now support the parameter "enabled=0|1"
- config parser code for ne2k and pnic now working the same way
- ne2k enable option now present in config menu / dialog
2004-12-14 19:27:42 +00:00
Volker Ruppert
78218d8b1b - implementation of bus mouse and usb mouse started - NOT YET COMPLETE !
(SF patch #1082584 by Ben Lunt)
2004-12-11 08:35:33 +00:00
Volker Ruppert
5ed6a80f69 - mouse type definitions moved to siminterface.h and BX_* prefix added
- mouse type 'ps2' is now the default again
2004-12-09 18:47:36 +00:00
Volker Ruppert
faafc6a93a - mouse type 'none' added (no mouse connected)
- added emulation of the PS/2 mouse port without a mouse connected (some OS's
  still detect a mouse)
- fixes for the mouse type 'serial_wheel' (the wheel still doesn't work in Win98)
2004-12-07 21:06:35 +00:00