From 72d3d8f052a19abc455ddc88efef75c407ac7c8d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 8 Mar 2018 23:39:34 +0100 Subject: [PATCH] hw/isa/superio: Add a keyboard/mouse controller (8042) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Since the PC87312 inherits this abstract model, we remove the I8042 instance in the PREP machine. Signed-off-by: Philippe Mathieu-Daudé Acked-by: David Gibson Message-Id: <20180308223946.26784-14-f4bug@amsat.org> Signed-off-by: Paolo Bonzini --- hw/isa/isa-superio.c | 3 +++ hw/ppc/prep.c | 1 - include/hw/isa/superio.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/isa/isa-superio.c b/hw/isa/isa-superio.c index 4b5e280b38..041b47bdbf 100644 --- a/hw/isa/isa-superio.c +++ b/hw/isa/isa-superio.c @@ -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) diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index df774bd384..5c78503069 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -641,7 +641,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]; diff --git a/include/hw/isa/superio.h b/include/hw/isa/superio.h index e8007b9eee..2fc33bf3d3 100644 --- a/include/hw/isa/superio.h +++ b/include/hw/isa/superio.h @@ -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 { -- 2.11.4.GIT