diff --git a/bochs/.bochsrc b/bochs/.bochsrc index 0149f73e8..b163d2101 100644 --- a/bochs/.bochsrc +++ b/bochs/.bochsrc @@ -8,7 +8,7 @@ # only available when the plugin device is loaded. The value "1" means to load # the plugin and "0" will unload it (if loaded before). # These plugins are currently supported: 'acpi', 'biosdev', 'e1000', 'es1370', -# 'extfpuirq', 'gameport', 'iodebug', 'speaker' and 'unmapped'. +# 'extfpuirq', 'gameport', 'ioapic', 'iodebug', 'speaker' and 'unmapped'. #======================================================================= #plugin_ctrl: unmapped=1, biosdev=1, speaker=1, e1000=1 diff --git a/bochs/iodev/acpi.cc b/bochs/iodev/acpi.cc index f1d99b610..a32a964f3 100644 --- a/bochs/iodev/acpi.cc +++ b/bochs/iodev/acpi.cc @@ -77,6 +77,7 @@ int libacpi_LTX_plugin_init(plugin_t *plugin, plugintype_t type, int argc, char void libacpi_LTX_plugin_fini(void) { + bx_devices.pluginACPIController = &bx_devices.stubACPIController; delete theACPIController; } diff --git a/bochs/iodev/gameport.cc b/bochs/iodev/gameport.cc index a0cb80f67..eec7f3648 100644 --- a/bochs/iodev/gameport.cc +++ b/bochs/iodev/gameport.cc @@ -64,6 +64,7 @@ int libgameport_LTX_plugin_init(plugin_t *plugin, plugintype_t type, int argc, c void libgameport_LTX_plugin_fini(void) { + bx_devices.pluginGameport = &bx_devices.stubGameport; delete theGameport; } diff --git a/bochs/iodev/ioapic.cc b/bochs/iodev/ioapic.cc index 5ab0b3870..84b29990c 100644 --- a/bochs/iodev/ioapic.cc +++ b/bochs/iodev/ioapic.cc @@ -44,6 +44,7 @@ int libioapic_LTX_plugin_init(plugin_t *plugin, plugintype_t type, int argc, cha void libioapic_LTX_plugin_fini(void) { + bx_devices.pluginIOAPIC = &bx_devices.stubIOAPIC; delete theIOAPIC; } diff --git a/bochs/iodev/iodebug.cc b/bochs/iodev/iodebug.cc index 0be257066..f9cf1fb48 100644 --- a/bochs/iodev/iodebug.cc +++ b/bochs/iodev/iodebug.cc @@ -45,6 +45,7 @@ int libiodebug_LTX_plugin_init(plugin_t *plugin, plugintype_t type, int argc, ch void libiodebug_LTX_plugin_fini(void) { + bx_devices.pluginIODebug = &bx_devices.stubIODebug; delete theIODebugDevice; } diff --git a/bochs/iodev/speaker.cc b/bochs/iodev/speaker.cc index b2a3670b8..6faf6da4c 100644 --- a/bochs/iodev/speaker.cc +++ b/bochs/iodev/speaker.cc @@ -48,6 +48,7 @@ int libspeaker_LTX_plugin_init(plugin_t *plugin, plugintype_t type, int argc, ch void libspeaker_LTX_plugin_fini(void) { + bx_devices.pluginSpeaker = &bx_devices.stubSpeaker; delete theSpeaker; } diff --git a/bochs/plugin.cc b/bochs/plugin.cc index 6a1bb0d4a..817c09ec7 100644 --- a/bochs/plugin.cc +++ b/bochs/plugin.cc @@ -831,7 +831,6 @@ static builtin_plugin_t builtin_opt_plugins[] = { BUILTIN_PLUGIN_ENTRY(iodebug), #endif #if BX_SUPPORT_PCI - BUILTIN_PLUGIN_ENTRY(pci_ide), BUILTIN_PLUGIN_ENTRY(acpi), #endif #if BX_SUPPORT_APIC