147973a2dSPhilippe Mathieu-Daudé /* 247973a2dSPhilippe Mathieu-Daudé * QEMU PS/2 Controller 347973a2dSPhilippe Mathieu-Daudé * 447973a2dSPhilippe Mathieu-Daudé * Copyright (c) 2003 Fabrice Bellard 547973a2dSPhilippe Mathieu-Daudé * 647973a2dSPhilippe Mathieu-Daudé * SPDX-License-Identifier: MIT 747973a2dSPhilippe Mathieu-Daudé */ 847973a2dSPhilippe Mathieu-Daudé #ifndef HW_INPUT_I8042_H 947973a2dSPhilippe Mathieu-Daudé #define HW_INPUT_I8042_H 1047973a2dSPhilippe Mathieu-Daudé 1147973a2dSPhilippe Mathieu-Daudé #include "hw/isa/isa.h" 12*db1015e9SEduardo Habkost #include "qom/object.h" 1347973a2dSPhilippe Mathieu-Daudé 1447973a2dSPhilippe Mathieu-Daudé #define TYPE_I8042 "i8042" 15*db1015e9SEduardo Habkost typedef struct ISAKBDState ISAKBDState; 1641ea8205SEduardo Habkost #define I8042(obj) OBJECT_CHECK(ISAKBDState, (obj), TYPE_I8042) 1747973a2dSPhilippe Mathieu-Daudé 1847973a2dSPhilippe Mathieu-Daudé #define I8042_A20_LINE "a20" 1947973a2dSPhilippe Mathieu-Daudé 200fe4bb32SMarc-André Lureau 2147973a2dSPhilippe Mathieu-Daudé void i8042_mm_init(qemu_irq kbd_irq, qemu_irq mouse_irq, 2247973a2dSPhilippe Mathieu-Daudé MemoryRegion *region, ram_addr_t size, 2347973a2dSPhilippe Mathieu-Daudé hwaddr mask); 240fe4bb32SMarc-André Lureau void i8042_isa_mouse_fake_event(ISAKBDState *isa); 2547973a2dSPhilippe Mathieu-Daudé void i8042_setup_a20_line(ISADevice *dev, qemu_irq a20_out); 2647973a2dSPhilippe Mathieu-Daudé 2747973a2dSPhilippe Mathieu-Daudé #endif /* HW_INPUT_I8042_H */ 28