4 #include "chardev/char-fe.h"
5 #include "chardev/char-serial.h"
8 #include "qom/object.h"
11 #define TYPE_ESCC "escc"
14 OBJECT_DECLARE_SIMPLE_TYPE(ESCCState
, ESCC
)
17 escc_chn_a
, escc_chn_b
,
21 escc_serial
, escc_kbd
, escc_mouse
,
24 #define ESCC_SERIO_QUEUE_SIZE 256
27 uint8_t data
[ESCC_SERIO_QUEUE_SIZE
];
28 int rptr
, wptr
, count
;
31 #define ESCC_SERIAL_REGS 16
32 typedef struct ESCCChannelState
{
34 uint32_t rxint
, txint
, rxint_under_svc
, txint_under_svc
;
35 struct ESCCChannelState
*otherchn
;
37 uint8_t wregs
[ESCC_SERIAL_REGS
], rregs
[ESCC_SERIAL_REGS
];
40 int e0_mode
, led_mode
, caps_lock_mode
, num_lock_mode
;
43 uint32_t vmstate_dummy
;
44 ESCCChnID chn
; /* this channel, A (base+4) or B (base+0) */
47 QemuInputHandlerState
*hs
;
51 SysBusDevice parent_obj
;
53 struct ESCCChannelState chn
[2];