aboutsummaryrefslogtreecommitdiff
path: root/include/hw/input
diff options
context:
space:
mode:
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2022-06-24 14:40:34 +0100
committerMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2022-06-26 18:40:11 +0100
commit77adda52ef7bcdb5edc9b4dc1678c83f31a02f46 (patch)
treef48469e26a552244e4dc8de2745b319297a04d5c /include/hw/input
parent32be01575df7cac57c58a34388126ee3d6740842 (diff)
downloadqemu-77adda52ef7bcdb5edc9b4dc1678c83f31a02f46.zip
qemu-77adda52ef7bcdb5edc9b4dc1678c83f31a02f46.tar.gz
qemu-77adda52ef7bcdb5edc9b4dc1678c83f31a02f46.tar.bz2
pckbd: move KBDState from pckbd.c to i8042.h
This allows the QOM types in pckbd.c to be used elsewhere by simply including i8042.h. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Acked-by: Helge Deller <deller@gmx.de> Message-Id: <20220624134109.881989-20-mark.cave-ayland@ilande.co.uk>
Diffstat (limited to 'include/hw/input')
-rw-r--r--include/hw/input/i8042.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/hw/input/i8042.h b/include/hw/input/i8042.h
index e070f54..84b5aa7 100644
--- a/include/hw/input/i8042.h
+++ b/include/hw/input/i8042.h
@@ -11,6 +11,31 @@
#include "hw/isa/isa.h"
#include "qom/object.h"
+typedef struct KBDState {
+ uint8_t write_cmd; /* if non zero, write data to port 60 is expected */
+ uint8_t status;
+ uint8_t mode;
+ uint8_t outport;
+ uint32_t migration_flags;
+ uint32_t obsrc;
+ bool outport_present;
+ bool extended_state;
+ bool extended_state_loaded;
+ /* Bitmask of devices with data available. */
+ uint8_t pending;
+ uint8_t obdata;
+ uint8_t cbdata;
+ uint8_t pending_tmp;
+ void *kbd;
+ void *mouse;
+ QEMUTimer *throttle_timer;
+
+ qemu_irq irq_kbd;
+ qemu_irq irq_mouse;
+ qemu_irq a20_out;
+ hwaddr mask;
+} KBDState;
+
#define TYPE_I8042 "i8042"
OBJECT_DECLARE_SIMPLE_TYPE(ISAKBDState, I8042)