keyboard and usb_hid code to use them
- removed keyboard handling from the USB host controller code
- removed no longer needed USB stubs from the devices code
- converted removable mouse variables to a structure
* '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
by Ben Lunt will be tested and merged soon)
- renamed specific pciusb stuff to 'usb_uhci' (files, objects)
- minor USB-related changes
- TODO: changes in siminterface and bochsrc options
bochsrc option (e.g. biosdev, speaker, gameport)
* the "unmapped device" is now an optional plugin, the builtin default handlers
no longer cause panics
* speaker stub calls the related gui methods for beep on/off
* load all optional plugins before starting init of core plugins
* 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()
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
- exit() method sets the number of registered timers back to 1 (or 2 if APIC
is present)
- fixed some parameter types for save/restore
- debug message for timer registration added
- slowdown timer: exit method added to reset the timer id
done by the object destructor (changes in cmos, hard drive and keyboard)
- bx_unload_plugins() now deletes the devmodel object in non-plugin mode
- CMOS device now prints the time on exit in human-readable format
unregister_irq(). This is required since there are some devices that don't
use a string constant for the handler name.
- replaced true / false by portable 0 / 1 values.
(TODO: find a way to call plugin_fini() for non-core devices if plugins are
disabled)
- set the device pointers back to stubs after unloading plugins
- added debug message "Exit" in all device plugin destructors
- added exit() method to the devmodel object for devices that need to do special
cleanups on exit. Device plugins should call this method from their plugin_fini()
function. If Bochs is compiled without plugin support, for non-core plugins
the exit() method is called directly from bx_unload_plugins().
- exit() method implemented in the keyboard device
- wx "Show Keyboard" feature now only appear when the wxdebug keyboard subtree
is not empty
- cpu cleanup must be done before the devices cleanup
- moved PCI chipset dump call to the devices exit method
* 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