Commit Graph

266 Commits

Author SHA1 Message Date
Volker Ruppert
29c8824bab - added support for HD image modes in usb_msd (TODO: specify journal file)
- siminterface: added helper method hdimage_get_mode()
- moved hdimage related stuff from harddrv.cc to the hdimage code
- changed hdimage related names
2010-12-10 17:02:18 +00:00
Stanislav Shwartsman
a6ad162346 separate param tree code out of rest of siminterface
create new module
2010-09-16 21:46:45 +00:00
Stanislav Shwartsman
273f256603 some changes in siminterface 2010-09-12 20:47:23 +00:00
Stanislav Shwartsman
5b6a14656d Make XSAVE as runtime option 2010-02-26 22:53:43 +00:00
Stanislav Shwartsman
5df864b1f1 Move param_names.h into bochs root folder 2010-02-26 14:18:19 +00:00
Stanislav Shwartsman
033a20b3b2 allow to configure CPU features at runtime - implemened on example of SSE/AES/MOVBE/POPCNT 2010-02-25 22:04:31 +00:00
Stanislav Shwartsman
5fec008130 change copyright to bochs project 2009-12-04 20:02:12 +00:00
Stanislav Shwartsman
6f336396a5 more correct var name 2009-11-15 20:38:17 +00:00
Stanislav Shwartsman
2f56442d30 fixed warnings 2009-11-08 20:47:03 +00:00
Stanislav Shwartsman
da4722e257 optimize sr params 2009-10-16 18:29:45 +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
3337d7f83c - siminterface: bx_param_enum_c must have it's own set_enabled() method for
updating the dependents
- win32paramdlg: mark edit control as modified after browsing for file
2009-03-28 11:49:26 +00:00
Stanislav Shwartsman
ca4166389b generic is keyword in recent M$ .NET compiler 2009-03-26 09:19:56 +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
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
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
87903bf0bf - don't delete bx_list_c items with different parent list 2009-03-06 16:07:56 +00:00
Stanislav Shwartsman
b47d9046ca puts is not always working, change to fputs back, keep stdout 2009-02-12 20:39:38 +00:00
Stanislav Shwartsman
03684932c1 send debugger output to stdout instead of stderr 2009-02-12 20:30:52 +00:00
Stanislav Shwartsman
20d1ee5815 Fixed memory leak + some compilation warning 2009-02-08 18:52:06 +00:00
Volker Ruppert
e5eac65b59 - removed wrong character from FSF address (converted invisible and useless
2-byte character)
- updated FSF address in some files
- added license to some files
2009-02-08 09:05:52 +00:00
Stanislav Shwartsman
66dc9b4cb1 - updated FSF address 2009-02-07 20:35:39 +00:00
Volker Ruppert
3a470c9d11 - names of bx_list_c members are now compared case insensitive
- added configure check and osdep code for the stricmp function
- minor changes in siminterface
2009-02-02 13:03:28 +00:00
Stanislav Shwartsman
717f323722 Integrate GTK GUI debugger frontend module 2009-01-31 10:04:25 +00:00
Stanislav Shwartsman
93dd7bfccf Fixed compilation issues with GUI debugger enabled.
- Added configure option to compile in GUI frontend for Bochs internal
    debugger, to enable configure with --enable-debugger-gui option. The GUI
    debugger frontend is enabled by default with Bochs internal debugger.

If needed to compile without GUI debugger (in case of compilation issues) use --disable-debugger-gui
2009-01-12 19:15:35 +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
ee1e10ab73 - store user-defined option data in a struct 2009-01-05 21:15:17 +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
Stanislav Shwartsman
e182e74a4d Added ability to define user MSRs spec for emulated CPU 2008-12-28 20:30:48 +00:00
Stanislav Shwartsman
5468903bb0 Fix some BX_PANICs 2008-09-19 21:31:08 +00:00
Stanislav Shwartsman
51cb5451d8 Apply CPUID vendor/brand string from @SF 2008-08-19 16:43:07 +00:00
Stanislav Shwartsman
55ad3e89b6 another whitespace cleanup by Sebastien 2008-02-05 22:57:43 +00:00
Stanislav Shwartsman
8d44a9e355 Warnings fixed 2007-10-24 23:09:59 +00:00
Stanislav Shwartsman
e9801ef501 Support for restore cpu (and any other device from bochs root) from debugger 2007-10-14 19:04:51 +00:00
Stanislav Shwartsman
d7431ca11a Support for functionilirt of restoring/saving some single leaf insetad of all restore_hardware - will be used in debugger 2007-10-14 00:20:30 +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
Volker Ruppert
6ea536f95c - fixed floppy boot signature check switch
- added network boot ROM support in the main Bochs code (already present in BIOS)
2007-08-01 17:10:24 +00:00
Volker Ruppert
9c8b9eae6a - support for VMWare version 4 disk image format implemented (patch by Sharvil
Nanavati)
- siminterface + wx code cleanup (removed unused stuff and wx log messages,
  floppy media type name handling simplified)
2006-12-17 08:17:28 +00:00
Volker Ruppert
3a6c7b20ea - missing comma added in cpu registers list (DS and ES now visible in dialog)
- debug_get_next_command(): messages changed to BX_DEBUG
2006-12-10 13:03:25 +00:00
Volker Ruppert
3063397fd4 - first attempt to implement a debugger gui dialog for win32
- new display library option "windebug" enables the new feature
  - simple dialog box with a command line and a multiline text viever
  - TODO: implement modeless dialog with cpu registers and it should be possible
    to interrupt "continue" and "step N" commands
- win32dialog: fixed function GetBochsWindow()
- textconfig: removed unused save/restore prompt
2006-11-12 10:07:18 +00:00
Stanislav Shwartsman
925ae93e22 Reveer back changes for debug.h removal from bochs.h 2006-09-26 19:16:10 +00:00
Stanislav Shwartsman
aab3feb2e0 Fixed Makefile to compile with ACPI stub disabled
Remove bx_debug.h from bochs.h to reduce compilation dependencies
2006-09-25 20:13:52 +00:00
Volker Ruppert
fad22265b5 - bx_list_c: after deleting the list entries, the list must be deleted, too 2006-09-18 21:24:27 +00:00
Volker Ruppert
f7d668289d - bx_list_c: fixed deleting of the parameter list 2006-09-18 20:31:37 +00:00
Volker Ruppert
e075c68f78 - close logfile and reset logging to stderr at the end of the simulation
- removed unused code
2006-09-09 11:28:52 +00:00
Volker Ruppert
5dd0d64b11 - several changes for restart support in wx (not yet complete)
* don't initialize cpu specific parameters for the wx debugger if they already
    exist
  * separate siminterface method init_save_restore() added
  * old wx specific handling in quit_sim() removed
  * new bx_list_c method clear() deletes all parameters from the list
  * moved devices cleanup code from the pc_system to a new devices method exit()
  * pc_system init code now sets ticksTotal to 0
2006-09-07 18:50:51 +00:00
Volker Ruppert
3dfc9b4d5a - fixed end of thread in debugger mode (always dump cpu state to log file)
- hide debug console before showing "Bochs stopped" message box
2006-09-04 18:36:47 +00:00
Volker Ruppert
43838a54fa - file descriptor check fixed 2006-06-16 09:10:26 +00:00
Volker Ruppert
c562a1243e - fixed broken save/restore function for binary data 2006-06-11 18:03:11 +00:00
Stanislav Shwartsman
869f74b3ee Reduce amount of dbg_get_cpu calls (I would like to remove this function) and use save/restore power in debugger 2006-06-11 16:40:37 +00:00
Stanislav Shwartsman
453ffd1e17 Fix more ugly strdup calls 2006-06-05 19:06:36 +00:00
Stanislav Shwartsman
b66d5385f7 Added missed 'delete' for ask_format field in destructor 2006-06-05 16:47:55 +00:00
Volker Ruppert
6730922952 - geometry autodetection for 'concat' mode hard disk images added
- removed all references to the old 'split-hd' feature (now: 'concat' mode)
- updated documentation for 'concat' images
2006-06-04 21:49:17 +00:00
Volker Ruppert
a6b03f67fb - bx_param_c: handle the member 'ask_format' the same way as 'label' and 'description'
- ask_yes_no(): build the 'ask_format' string from 'label' and 'description'
  (for the textconfig prompt only)
2006-06-04 07:55:34 +00:00
Volker Ruppert
005ca56f04 - prepared yes/no dialog in the siminterface and added message box for win32
- test case for ask_yes_no(): confirm power off
- textconfig: set the event return code when asking for a parameter
2006-05-31 20:12:43 +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
Volker Ruppert
a57d0a6aa9 - save_sr_param(): fixed 64-bit decimal output
- wx compilation fixes
2006-05-30 16:05:51 +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
Stanislav Shwartsman
cabc1d0181 Fixed minor bugs. Support for 64-bit save/restore values. 2006-05-29 19:57:12 +00:00
Stanislav Shwartsman
bd22a4e39a Revert format change for now (I won't work for me).
The problem that original '%x' also won't work ;(
Need to find solution to print Bit64u !
2006-05-28 17:22:35 +00:00
Volker Ruppert
6ca6b46203 - failure handling for save/restore added 2006-05-28 16:39:25 +00:00
Stanislav Shwartsman
938d9c1cbb Change format for 64-bit param print 2006-05-27 21:37:36 +00:00
Stanislav Shwartsman
8b0df8e99b Merge SAVE_RESTORE branch to CVS 2006-05-27 15:54:49 +00:00
Stanislav Shwartsman
7c1767d17a Partial sync with save-restore 2006-05-27 14:02:34 +00:00
Stanislav Shwartsman
6a22aa2328 Partially sync from save/restore branch 2006-05-22 21:29:54 +00:00
Volker Ruppert
6a299e61a7 - get rid of the unused description field of shadow bool and data parameters
(new/modified constructor)
- new constructor for bx_list_c objects without title
- shadow parameter bitmasks fixed
- functions bx_sr_before_save_state() and bx_sr_after_restore_state() prepared
- ne2k.cc: reset behaviour fixes
- sb16: some variable types changed
2006-05-14 15:47:37 +00:00
Volker Ruppert
9340f3b3f8 - partial sync with BRANCH_SAVE_RESTORE_3 (hardware save/restore not present yet)
* changed data format of text files for save/restore (looks like C/C++ structures,
    similar to the format used in old save/restore branches)
  * don't set the initial value of shadow bool parameters
  * don't set the initial value of bool parameters twice
  * cpu/init.cc: missing #undef added
  * ne2k.cc: variable tx_timer_active was never set to 1 (type now bx_bool)
  * floppy.cc: missing initialization of the 'eot' array in reset() added
  * pic.h: type of member 'byte_expected' changed to Bit8u
  * pit_wrap.h: unused members removed
2006-05-01 18:24:47 +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
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
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
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
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
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
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
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
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
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
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
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
fbd61d0a00 - fixed memory leak in the parameter list method clone()
- removed useless parameter list method set_options() (usage caused memory leak)
2006-02-28 16:19:29 +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
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
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