4 #include "chardev/char-fe.h"
5 #include "chardev/char-serial.h"
9 #define TYPE_ESCC "escc"
12 #define ESCC(obj) OBJECT_CHECK(ESCCState, (obj), TYPE_ESCC)
15 escc_chn_a
, escc_chn_b
,
19 escc_serial
, escc_kbd
, escc_mouse
,
22 #define ESCC_SERIO_QUEUE_SIZE 256
25 uint8_t data
[ESCC_SERIO_QUEUE_SIZE
];
26 int rptr
, wptr
, count
;
29 #define ESCC_SERIAL_REGS 16
30 typedef struct ESCCChannelState
{
32 uint32_t rxint
, txint
, rxint_under_svc
, txint_under_svc
;
33 struct ESCCChannelState
*otherchn
;
35 uint8_t wregs
[ESCC_SERIAL_REGS
], rregs
[ESCC_SERIAL_REGS
];
38 int e0_mode
, led_mode
, caps_lock_mode
, num_lock_mode
;
41 uint32_t vmstate_dummy
;
42 ESCCChnID chn
; /* this channel, A (base+4) or B (base+0) */
45 QemuInputHandlerState
*hs
;
48 typedef struct ESCCState
{
49 SysBusDevice parent_obj
;
51 struct ESCCChannelState chn
[2];