Commit Graph

128 Commits

Author SHA1 Message Date
Volker Ruppert
00d404809b - reduce some more dependencies
- iodev.h already includes bochs.h
2009-01-03 08:55:00 +00:00
Volker Ruppert
b23e7bf6a0 - added basic user plugin support (TODO: add sample code) 2009-01-02 11:51:03 +00:00
Volker Ruppert
815dff019e - converted iodebug device to a plugin 2008-12-30 18:11:13 +00:00
Stanislav Shwartsman
d56c3a18aa reduce include dependencies in iodev.h
Makefile.in in iodev folder have to be regerated !
2008-12-29 20:16:08 +00:00
Stanislav Shwartsman
3fb9d7d712 clean duplicate instrumentation 2008-12-29 18:02:01 +00:00
Stanislav Shwartsman
dd0b8eceb2 Fixed some compilation issues with
Microsoft 32-Bit C/C++ Optimizing Compiler 9.00
2008-09-18 17:18:36 +00:00
Volker Ruppert
7c8c40483e - removed some optional devices from the bx_devices_c object
- biosdev is now an optional plugin
2008-07-26 08:02:27 +00:00
Stanislav Shwartsman
fda4d38959 32-bit systems have a problem to allocate large amount of physical memory for Bochs simulation which makes simulation with 4G address space virtually impossible. But in most of the cases when 4G physical address space defined - it is not touched by default on every run so it is possible to allocate only really accessed blocks. This commit made all necessary preparations for it. 2008-04-17 14:39:33 +00:00
Stanislav Shwartsman
a459a64f3e whispace, tab2space, indent, dos2unix and other cleanups 2008-02-15 22:05:43 +00:00
Stanislav Shwartsman
ae35b0276e white space cleanups and coding style changes 2008-01-26 22:24:03 +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
b6c8275cfd remove old PIT model and always use Greg Alexander's new one 2007-04-08 21:57:06 +00:00
Stanislav Shwartsman
2f9e1bee68 fixed code duplication and comments 2007-02-03 17:56:35 +00:00
Volker Ruppert
815f2a026d - fixed compilation with ACPI disabled 2006-10-02 10:14:07 +00:00
Volker Ruppert
5d1e848a6a - SMI generation implemented (needs to be checked for SMP) 2006-10-01 19:51:49 +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
2cdd6596f1 - implementation of the PIIX4 ACPI controller started. The code is not yet
enabled and the i/o handler only generate info messages.
2006-09-24 16:58:13 +00:00
Volker Ruppert
1f5d311ca1 - fixed memory leaks found with valgrind when trying to start a second
simulation with wxBochs:
  * cpu: delete pageWriteStampTable array
  * devices: simplified setup of initial default i/o handlers
  * ne2k: delete ethernet module in destructor
2006-09-20 20:52:23 +00:00
Volker Ruppert
72283f6760 - delete i/o handlers before unloading plugins
- memory for i/o handler name is now dynamicly allocated (strdup's in harddrv
  code removed)
2006-09-20 18:24:17 +00:00
Volker Ruppert
26f7f49b9a - virtual timer method 'reset' renamed to 'setup' (it's doing other things than
the reset methods for devices)
- PCI register dump on exit now done in the destructor
2006-09-18 18:10:49 +00:00
Volker Ruppert
b8c84baddb - new PIT: exit method added to reset the timer id
- old PIT: exit method stub added and some code cleanup
- virtual timer: reset method added with basic init code from the constructor
2006-09-17 19:19:15 +00:00
Volker Ruppert
4c1e82f18c - moved some parts of the timer init from the constructor to initialize()
- 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
2006-09-16 19:30:56 +00:00
Volker Ruppert
647b0e3e6c - removed exit() method from the devmodel object, since all that stuff can be
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
2006-09-16 14:47:40 +00:00
Volker Ruppert
38caf3bf19 - allocate memory for the IRQ handler name in register_irq() and free it in
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.
2006-09-13 18:51:25 +00:00
Volker Ruppert
190b9391cf - delete the device object in the plugin_fini() function of each plugin device
(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
2006-09-10 17:18:44 +00:00
Volker Ruppert
c07197758b - plugin unload mechanism implemented in the plugin and devices code
- 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
2006-09-10 09:13:47 +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
Stanislav Shwartsman
8b0df8e99b Merge SAVE_RESTORE branch to CVS 2006-05-27 15:54:49 +00:00
Stanislav Shwartsman
8db5723921 Wow, I forgot to commit this change for NullTimer fixes ! 2006-05-18 19:57:11 +00:00
Volker Ruppert
a419ec3423 - fixed busmouse usage (wrong parameter) 2006-05-07 09:34:51 +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
Stanislav Shwartsman
7cc921d1df Prepare configure support for SSE4 implemntation (coming soon)
Rename _GAME configure macro to _GAMEPORT
2006-04-05 18:49:35 +00:00
Stanislav Shwartsman
c7d142200f Implement SMRAM conrol register in i440fx chipset and all its functionality in memory class 2006-03-26 22:15:07 +00:00
Stanislav Shwartsman
e85a90a720 Remove cpu.h -> devices.cc dependancy, kill_bochs_request moved from CPU to bx_pc_system
Small Icache simplification and speedup
2006-03-14 18:11:22 +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
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
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
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
3e9ed43413 - code cleanup in the devices code 2006-01-17 20:16:59 +00:00
Volker Ruppert
906062fb01 - load pcivga plugin only if assigned to a pci slot and Bochs VBE is selected 2005-10-27 08:20:16 +00:00
Volker Ruppert
36187fe1ba - fixed the slowdown timer sleep rate on platforms that don't support the usleep()
function. Now using the value 1 msec on all platforms.
- slowdown timer doesn't need the reset() function (it's not hardware)
2005-10-22 17:31:02 +00:00
Volker Ruppert
9b264e8830 - don't report read/write accesses to the PCI host controller with wrong io_len
(guest PCI probe can flood the logfile)
- fixed indent mode in some functions
2005-10-01 17:40:07 +00:00
Volker Ruppert
7576000637 - fixed extended memory size in kByte reported by the BIOS. If there are more
than 64 MB memory installed, the reported XMS size must be 63 MB (OS/2 Warp 3
  is expecting this)
2005-02-16 17:53:40 +00:00
Volker Ruppert
a57464cb54 - Busmaster DMA fuction implemented, but disabled for now. BM-DMA works in Linux,
but failes in Win98 with this code, so I decided to disable it.
- BM-DMA register read messages changed to BX_DEBUG
2005-02-08 18:32:27 +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
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