Commit Graph

388 Commits

Author SHA1 Message Date
Stanislav Shwartsman
71bb10f98c move ignore-bad-msrs to runtime option in ,bochsrc 2009-11-13 15:55:46 +00:00
Stanislav Shwartsman
e7f0a7d830 fix defaults for new memory option 2009-10-17 17:52:26 +00:00
Stanislav Shwartsman
37b19190b3 new .bochsrc memory option 2009-10-17 17:38:58 +00:00
Stanislav Shwartsman
4abd5e1494 misc updates 2009-10-12 20:53:00 +00:00
Stanislav Shwartsman
7233fdf3c1 fixed non-printable character 2009-08-22 19:30:23 +00:00
Stanislav Shwartsman
f29b5a97d6 fixes with long phy addr 2009-08-10 08:08:25 +00:00
Volker Ruppert
b7fe020449 - second try to add missing bochsrc options and to move the debugger stuff to
a separate function (everything compiles now)
2009-05-08 14:53:45 +00:00
Stanislav Shwartsman
3ceb1a85f8 partially undo last Volker's commit - it breaks compilation 2009-05-08 08:15:33 +00:00
Volker Ruppert
dc47d21f98 - added some missing bochsrc options in bx_write_configuration()
- moved debugger-specific stuff to a separate write function (TODO: debug symbols)
- removed support for old-style syntax of the 'vgaromimage' bochsrc option
2009-05-07 18:46:12 +00:00
Stanislav Shwartsman
d7a500c3e0 remove deprecated 'ips' .bochsrc option - transition to cpu:ips started 2009-05-06 17:37:34 +00:00
Volker Ruppert
11970f77d3 - ne2k bochsrc option: ioaddr and irq are not mandatory if the device is
already assigned to a PCI slot
2009-05-05 17:16:31 +00:00
Stanislav Shwartsman
d2cdcfacaf added const to strings 2009-05-03 19:21:38 +00:00
Volker Ruppert
752c84ab9e - converted port 0xE9 hack option to a regular config parameter 2009-04-26 06:56:28 +00:00
Stanislav Shwartsman
cb312c9470 make port_e9_hack runtime option (and not configure time)
clean-up a bit in bx_dbg struct in bochs.h
2009-04-23 18:28:17 +00:00
Volker Ruppert
8e1f883156 - updated several options and added missing ones in the bochsrc sample
- removed deprecated arguments for the 'pnic' option
2009-04-13 16:07:02 +00:00
Volker Ruppert
ee131a7471 - new implementation of the win32 runtime dialog based on the start menu dialog
* removed old win32 runtime config dialog since the property sheet isn't
    compatible with the win32 ParamDialog
  * reorganized runtime parameter lists (usb and cdrom setup in device init)
  * renamed win32 StartMenuDialog() to MainMenuDialog() and some related name
    changes
  * added runtime support to the MainMenuDialog
- win32 start/runtime menu: set keyboard focus to the start/continue button
- win32paramdlg: SetParamList() now checks for list size changes to avoid crash
2009-03-29 20:48:17 +00:00
Volker Ruppert
8d92dbdee3 - implemented dependent list for string parameters (string length must be > 0
and value must be != "none" to enable dependents)
- set dependent list for floppy path (removed enable handler)
- win32paramdlg: added support for string parameter dependent lists
2009-03-29 11:13:49 +00:00
Volker Ruppert
1dee09c468 - changed parameter type for floppy status (inserted/ejected) to bx_param_bool_c 2009-03-25 18:33:43 +00:00
Volker Ruppert
04990bb856 - created new config interface 'win32config' using the new start menu dialog and
the existing runtime dialog ('textconfig' is still available)
- removed notify callback redirection from sdl.cc and win32.cc
- removed win32 specific code from textconfig.cc
- fixed parent window for folder selection dialog
- minor size changes in start menu dialog
2009-03-24 16:28:03 +00:00
Volker Ruppert
501eccef0a - floppya/floppyb bochsrc options: the new parameter 'type' can be used to
enable the floppy drive without media and status specified
- simplified parsing of floppy bochsrc options
- default media status for floppy drives set to BX_EJECTED
- cdrom drives no longer need the path to be set in bochsrc (empty path had
  disabled the device in the previous version)
- simplified ATA device setup in bochsrc parser
2009-03-24 11:20:17 +00:00
Volker Ruppert
af3dfa73d7 - presence of floppy drive now depends on the devtype parameter instead of a
non-empty path
- floppy devtype parameter now uses CMOS values and drive type names
- related changes in the floppy code
- simplified floppy parameter handlers
- some floppy parameter label changes
- added enable handler for the floppy path parameter
- update dependent params after setting the dependent bitmap of enum parameter
2009-03-23 19:05:16 +00:00
Volker Ruppert
49343852a3 - changed parameter type for cdrom status (inserted/ejected) to bx_param_bool_c
- win32paramdlg: fixed setting parameters at runtime
- fixed win32 ParamDialog return value for close/cancel
- runtime dialog for the first cdrom drive on win32 is now created as a win32
  ParamDialog (removed old cdrom1 dialog stuff)
- minor fixes in x11 string dialog for the cdrom path & status case
2009-03-22 20:18:17 +00:00
Volker Ruppert
8e92378b7b - enable handlers for disk parameters are no longer needed, since the enable
behaviour is controlled by the new enum dependent list feature
- moved runtime parameter setup for cdrom drives to the harddrv code
2009-03-21 00:50:53 +00:00
Volker Ruppert
9f27f61f34 - fixed compilation errors 2009-03-17 20:20:57 +00:00
Volker Ruppert
5913073a20 - win32 ParamDialog: full parameter dependency handling implemented (recursive
dependency list processing, enum parameter support)
- bx_param_enum_c: added argument for the default value of the dependent bitmaps
  to set_dependent_list()
- bx_param_num_c: dependent_list is now a protected member of the object to make
  it accessible for the enum specific dependency code
- config.cc: ata parameter dependency rewrite to avoid multiple dependencies
- config.cc: added missing dependency for SB16 parameter list
2009-03-17 19:37:20 +00:00
Volker Ruppert
d987b68127 - implemented dependent list support for enum parameters. Each enum value has a
Bit64u value with the "enable bitmap" (e. g. bit #0 is the enable value for
  the first item of the dependent list). TODO: use this feature in win32 and wx
  dialogs
- ata drive type and loader hack parameters now using the enum dependent list
- avoid multiple dependencies in the SB16 config menu
2009-03-16 21:07:44 +00:00
Volker Ruppert
8c605c029d - store options for all parameter types in a Bit32u value instead of bx_param_num_c
- added file extension support for bx_param_filname_c
- fixed showing of tab control child lists
- added special disk menu for the win32 ParamDialog
- on win32 use the ParamDialog instead of textconfig submenus (TODO: gui dialog
  replacement for the start menus
2009-03-15 21:16:17 +00:00
Volker Ruppert
2b6ba5e44c - definition of the number of USB ports moved to bochs.h
- create config parameters for USB depending of the defined number of ports
- removed obsolete comment
- bx_param_num_c flag USE_SPIN_CONTROL now available for all config interfaces
2009-03-15 12:54:59 +00:00
Volker Ruppert
c82e57cb5f - implemented dynamic dialog box created from a parameter list (bx_list_c)
* ported the basic functionality of the wx ParamDialog to win32
  * moved AskFilename() function to the new file
  * win32ParamDialog() now used for the external USB hub (if present)
  * TODO: with some extensions it might be possible to use it for all runtime
    dialogs and to implement a gui replacement for the textconfig start menu
2009-03-10 19:33:03 +00:00
Volker Ruppert
de9f1dcce9 - rewrite of the USB runtime configuration code (for textconfig only)
* USB runtime options moved to a new dynamic menu
  * USB host controllers create own submenus in init()
  * USB runtime parameter handlers simplified
  * TODO: related changes in the wx and win32dialog code
2009-03-04 18:20:50 +00:00
Volker Ruppert
29f5a696fc - improved config interface labels for the optional plugin control
- documentation updates
2009-02-22 17:05:40 +00:00
Volker Ruppert
790eec83ca - converted I/O APIC to a device plugin
- updated dependencies
2009-02-22 10:44:50 +00:00
Volker Ruppert
cb430a4371 - added option to control the presence of optional plugins without a separate
option. By default all existing plugins are enabled.
2009-02-21 11:43:18 +00:00
Stanislav Shwartsman
c88886b4d2 Allow to configure up to 255 CPUs (and let's hope it will work :)) 2009-02-20 15:38:36 +00:00
Volker Ruppert
fcedb1f823 - workaround for unusable VGA window size
* use default value for screen width if update() is called before VGABIOS init
  * set minimum value for vga_update_interval to 40000 (default value: 50000)
  * no longer accept ips values smaller than BX_MIN_IPS and default value
    changed to 4000000
2009-01-20 12:37:41 +00:00
Volker Ruppert
d0a0fbd9d3 - usb config subtree now belongs to serial/parallel again
- added USB to the menu item names
2009-01-20 09:26:26 +00:00
Volker Ruppert
cfa759cd57 - fixed parameter name for save/restore of connected devices
- moved configuration subtree 'usb' back to the 'ports' list to make it
  accessible again by the config interface
- delete s.scsi_dev only if not NULL
2009-01-19 21:39:03 +00:00
Volker Ruppert
891cc05477 - prepared siminterface and bochsrc options for USB OHCI support
* 'usb_uhci' bochsrc option replaces 'usb1'
  * minor changes in the USB code
  * removed old VBE i/o port registration (they were incompatible with USB)
  * updated FSF address
- fixed saving user plugin options
2009-01-19 13:13:32 +00:00
Volker Ruppert
0ec93b8586 - moved common mouse handling code to devices.cc
- moved mouse capture control code back to config.cc
- related changes in the USB keyboard and mouse interface
2009-01-13 19:01:19 +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
65eacd8063 - unlimited number of user options after rewrite (now using a chain similar to
the plugin device code)
- minor updates
2009-01-06 20:35:39 +00:00
Volker Ruppert
8aa8b1a3db - rewrite for user plugin support with user-defined options
* initialize plugin system before parsing bochsrc and command line
  * pass previous value to bx_param_string_c handler
  * load / unload plugin in bx_param_string_handler()
  * handle user plugins after optional ones in plugin device init, reset and
    save/restore functions
  * added new siminterface method unregister_user_option()
  * removed first version of config option handling for user plugins
  * added new parameter subtree for user-defined options
  * added new bx_list_c method remove()
  * removed unused bx_devmodel_c method init_mem()
2009-01-04 21:46:20 +00:00
Volker Ruppert
504688cbca - fixed issue with bx_param_string_c found with valgrind
* set initial value for MAC address after setting RAW_BYTES option (no space
    for trailing null byte when using strncpy)
  * length of initial string should not be larger than maxsize
  * reset() method now uses set(initial_val)
2009-01-02 14:16:16 +00:00
Volker Ruppert
b23e7bf6a0 - added basic user plugin support (TODO: add sample code) 2009-01-02 11:51:03 +00:00
Stanislav Shwartsman
9d1a6a8bc2 typo bugfix 2008-12-28 20:53:31 +00:00
Stanislav Shwartsman
6367d3c5d2 Update user docs 2008-12-28 20:49:03 +00:00
Stanislav Shwartsman
e182e74a4d Added ability to define user MSRs spec for emulated CPU 2008-12-28 20:30:48 +00:00
Volker Ruppert
ed90f8dd93 - fixed a bunch of warnings 2008-12-11 18:01:56 +00:00
Stanislav Shwartsman
9170dbfe38 Fixed in CVS 2008-10-14 06:55:18 +00:00
Stanislav Shwartsman
3b276bc9fe Implement modern BIOS mode for limiting max reported CPUID function to 3.
This mode is required in order to correctly boot and install WinNT guest
2008-09-22 21:38:15 +00:00
Stanislav Shwartsman
bff3f01d5c small cleanup 2008-09-12 21:05:49 +00:00
Stanislav Shwartsman
51cb5451d8 Apply CPUID vendor/brand string from @SF 2008-08-19 16:43:07 +00:00
Volker Ruppert
61f51bc8af - minor ATA/ATAPI model string fixes
* cut model string on boot screen if larger than 36 characters to make one
    "ata" message fit in one line
  * config parameter for model string needs one more byte
  * harddrive: terminate model string with null
2008-07-27 08:06:52 +00:00
Volker Ruppert
fb8247cd02 - set floppy drive type to the highest compatible value (TODO: floppy drive
type should be a separate config option)
2008-05-25 06:25:44 +00:00
Volker Ruppert
966f2c8133 - added new serial modes based on SF patch #1928848 by Eugene Toder
* "pipe-server" (win32 only): It makes bochs a named pipe server so other
     application can communicate with it using pipes API. Useful e.g. for remote
     kernel debugging.
  * "pipe-client" (win32 only)
  * "socket-server": for the use with gdb
2008-05-22 08:13:22 +00:00
Stanislav Shwartsman
3c40cb1610 More improvements to load-symbols in bx debugger 2008-03-30 14:32:14 +00:00
Stanislav Shwartsman
a459a64f3e whispace, tab2space, indent, dos2unix and other cleanups 2008-02-15 22:05:43 +00:00
Stanislav Shwartsman
cdcd7522aa Added RIP to the GPR register file as lst register
This allowed to optimize (read - remove) two more BxResolve methods in 64-bit mode
+ Some white space cleanup
2008-02-15 19:03:54 +00:00
Stanislav Shwartsman
55ad3e89b6 another whitespace cleanup by Sebastien 2008-02-05 22:57:43 +00:00
Stanislav Shwartsman
a111eee1ae Merge @SF patch
[ 1881500 ] bochsrc, allow boot: network
2008-02-01 20:38:50 +00:00
Stanislav Shwartsman
192f398b46 removed --enable-magic-breakpoint configure option - it is enabled by default if Bochs internal debugger compiled in. Also it always possible to switch magic break off by .bochsrc option 2008-01-21 21:36:58 +00:00
Stanislav Shwartsman
4f7d5f5e28 Clean very old deprecated optionS 2008-01-21 21:03:34 +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
a8169d1cc1 Bugfix from developres mailing list 2007-12-06 22:21:40 +00:00
Stanislav Shwartsman
a9ea644c5c Print timestamps feature for performance measurements
If enabled (in .bochsrc) + --enable-show-ips=1 Bochs will print IPS + time data every second
2007-11-20 18:36:26 +00:00
Stanislav Shwartsman
d30a0d3699 warning fixes 2007-10-24 23:29:40 +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
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
Volker Ruppert
202734a5a3 - first attempt to implement a wheel mouse (PS/2 or serial) based on patch
#1079240 by Ben Lunt. There are still some problems:
  - PS/2 mouse is always present (some code to emulate a disconnected mouse needed)
  - PS/2 wheel mouse doesn't work properly
  - serial wheel mouse detected as a standard mouse and doesn't work at all
2004-12-05 20:23:39 +00:00
Volker Ruppert
301ffc2a7f - standard 2-button serial mouse implemented (with mouse option 'type=serial'
and one com port needs setting 'mode=mouse')
2004-12-02 21:34:26 +00:00
Volker Ruppert
6cc4cd8c4b - mouse type option prepared (TODO: device code for wheel and serial mouse) 2004-11-30 21:03:16 +00:00
Volker Ruppert
24cb20a563 - serial mouse support prepared (TODO: redirect mouse data to serial port) 2004-11-27 10:09:41 +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
ec05b63532 - wx: building memory config dialog simplified
- textconfig now supports lists in a list
- network configuration divided in two menus / groupboxes
- ips setting now belongs to the clock menu / dialog
- wx.cc: center status bar items (wxMSW port only)
- wxmain.cc: obsolete stuff removed
2004-10-24 20:04:52 +00:00
Volker Ruppert
7b4a245d9a - new boot options menu for wx for 3 boot drives and the floppy bootsig check option 2004-10-17 16:25:10 +00:00
Volker Ruppert
06b249ebc6 - boot sequence support added in the config interface and the hard drive init
code. Up to 3 boot drives are supported now. TODO: new boot dialog for wx.
- config.cc: missing ask formats for enum parameters added
- wxdialog.cc: tab window now uses the label instead of the ask format if defined
2004-10-16 15:44:00 +00:00
Volker Ruppert
31e4cb1fee - dependencies between NE2k and PCI Pseudo-NIC removed from the config interface
- menu and option names for the network configuration fixed
- NIC init code passes script name to ethernet module init code
- VDE module added to the list of ethernet modules
- constant BX_PACKET_BUFSIZE moved to eth.h
2004-10-07 17:38:03 +00:00
Volker Ruppert
cb95c4bcac - parse_line_formatted(): handling of romimage and optromimage options rewritten
- bx_write_configuration(): enclose romimage filenames in double quotes
- error message for unknown sb16 option parameters added
- vgaromimage warning changed
2004-09-28 17:37:52 +00:00
Volker Ruppert
0819a15cd4 - applied patch.guess-flp-img-size (SF patch #567595) by Tal Benavidor with some
changes (moved to config.cc, use stat(), support more types)
- bochs.h: unused floppy stuff removed
- bochsrc sample: updated 'floppya' description
2004-09-07 18:02:29 +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
bf20e99f4c - remove only CR or LF from the end of a bochsrc line 2004-08-01 19:17:18 +00:00
Volker Ruppert
f1a0f56d55 - support for serial port modes added. The mode defines what to do with the
data written to the port and where to get the data read from it. Available
  modes are 'null' (no input/output), 'file' (output to a file specified as
  the 'dev' parameter), 'term' (serial terminal) and 'raw' (use the real serial
  port - under construction for win32).
- descriptions for serial and parallel options in bochsrc sample updated
2004-07-28 19:36:42 +00:00
Volker Ruppert
6628e25371 - option 'newharddrivesupport' removed from configuration menus and bx_write_configuration() 2004-07-18 17:18:19 +00:00
Volker Ruppert
94a736e1dc - pci options now available in start menu
- removed unnecessary ne2k option handling
- names and lables for usb options improved
- don't allow editing of disabled options
2004-07-10 11:05:29 +00:00
Volker Ruppert
816795805e - wx: new dialog for the pci configuration added
- fixed dependencies between ne2k and pnic options
2004-07-09 21:40:49 +00:00
Volker Ruppert
cd70a80644 - save new pci slot configuration option
- all parallel and serial options are saved now
2004-07-02 23:18:21 +00:00
Volker Ruppert
ae180cc46a - pci slot register mechanism added
* up to 5 slots can be specified with the 'i440fxsupport' config option
  * the pci slot number are hardwired to pci device numbers
  * the 'devfunc' value is returned the calling device (useful for multi-function
    devices)
  * the core of the i440FX chipset is hardwired to pci device 1 + 2; usb is still
    optional and appears at device 1, function 2
- ne2k: enable pci features if connected to a pci slot
- ne2k: asic data port supports 32-bit access if ne2k-pci is active
- pci2isa: improved error messages for ELCR1 and ELCR2
2004-06-29 19:24:34 +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