Port 92 is an integral part of the south bridge, so instantiate it there.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
hw/isa/vt82c686.c | 7 +++++++
hw/isa/Kconfig | 1 +
2 files changed, 8 insertions(+)
diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
index aa91942745..c7b96b3133 100644
--- a/hw/isa/vt82c686.c
+++ b/hw/isa/vt82c686.c
@@ -22,6 +22,7 @@
#include "hw/qdev-properties.h"
#include "hw/ide/pci.h"
#include "hw/isa/isa.h"
+#include "hw/isa/port92.h"
#include "hw/isa/superio.h"
#include "hw/intc/i8259.h"
#include "hw/irq.h"
@@ -597,6 +598,7 @@ struct ViaISAState {
uint16_t irq_state[ISA_NUM_IRQS];
ViaSuperIOState via_sio;
MC146818RtcState rtc;
+ Port92State port92;
PCIIDEState ide;
UHCIState uhci[2];
ViaPMState pm;
@@ -619,6 +621,7 @@ static void via_isa_init(Object *obj)
ViaISAState *s = VIA_ISA(obj);
object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC);
+ object_initialize_child(obj, "port92", &s->port92, TYPE_PORT92);
object_initialize_child(obj, "ide", &s->ide, TYPE_VIA_IDE);
object_initialize_child(obj, "uhci1", &s->uhci[0], TYPE_VT82C686B_USB_UHCI);
object_initialize_child(obj, "uhci2", &s->uhci[1], TYPE_VT82C686B_USB_UHCI);
@@ -740,6 +743,10 @@ static void via_isa_realize(PCIDevice *d, Error **errp)
}
isa_connect_gpio_out(ISA_DEVICE(&s->rtc), 0, s->rtc.isairq);
+ if (!qdev_realize(DEVICE(&s->port92), BUS(isa_bus), errp)) {
+ return;
+ }
+
for (i = 0; i < PCI_CONFIG_HEADER_SIZE; i++) {
if (i < PCI_COMMAND || i >= PCI_REVISION_ID) {
d->wmask[i] = 0;
diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig
index f42a087c07..d94f58a2c1 100644
--- a/hw/isa/Kconfig
+++ b/hw/isa/Kconfig
@@ -66,6 +66,7 @@ config VT82C686
select I8259
select IDE_VIA
select MC146818RTC
+ select PORT92
config SMC37C669
bool
--
2.43.2