@@ -30,6 +30,7 @@ typedef struct ISASuperIODevice {
ISADevice *parallel[MAX_PARALLEL_PORTS];
ISADevice *serial[MAX_SERIAL_PORTS];
ISADevice *floppy;
+ ISADevice *kbc;
} ISASuperIODevice;
typedef struct ISASuperIOFuncs {
@@ -17,6 +17,7 @@
#include "sysemu/blockdev.h"
#include "chardev/char.h"
#include "hw/isa/superio.h"
+#include "hw/input/i8042.h"
#include "hw/char/serial.h"
#include "trace.h"
@@ -143,6 +144,8 @@ static void isa_superio_realize(DeviceState *dev, Error **errp)
k->floppy.get_irq(sio, 0) : -1);
}
+ /* Keyboard, mouse */
+ sio->kbc = isa_create_simple(bus, TYPE_I8042);
}
static void isa_superio_class_init(ObjectClass *oc, void *data)
@@ -642,7 +642,6 @@ static void ppc_prep_init(MachineState *machine)
hd[2 * i],
hd[2 * i + 1]);
}
- isa_create_simple(isa_bus, TYPE_I8042);
cpu = POWERPC_CPU(first_cpu);
sysctrl->reset_irq = cpu->env.irq_inputs[PPC6xx_INPUT_HRESET];