4 #include "chardev/char-fe.h"
5 #include "chardev/char-serial.h"
10 #define TYPE_ESCC "escc"
13 #define ESCC(obj) OBJECT_CHECK(ESCCState, (obj), TYPE_ESCC)
16 escc_chn_a
, escc_chn_b
,
20 escc_serial
, escc_kbd
, escc_mouse
,
23 #define ESCC_SERIO_QUEUE_SIZE 256
26 uint8_t data
[ESCC_SERIO_QUEUE_SIZE
];
27 int rptr
, wptr
, count
;
30 #define ESCC_SERIAL_REGS 16
31 typedef struct ESCCChannelState
{
33 uint32_t rxint
, txint
, rxint_under_svc
, txint_under_svc
;
34 struct ESCCChannelState
*otherchn
;
36 uint8_t wregs
[ESCC_SERIAL_REGS
], rregs
[ESCC_SERIAL_REGS
];
39 int e0_mode
, led_mode
, caps_lock_mode
, num_lock_mode
;
42 uint32_t vmstate_dummy
;
43 ESCCChnID chn
; /* this channel, A (base+4) or B (base+0) */
46 QemuInputHandlerState
*hs
;
49 typedef struct ESCCState
{
50 SysBusDevice parent_obj
;
52 struct ESCCChannelState chn
[2];