Port 92 is an integral part of the south bridge, so instantiate it there. Signed-off-by: Bernhard Beschow <shen...@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