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" 1247973a2dSPhilippe Mathieu-Daudé 1347973a2dSPhilippe Mathieu-Daudé #define TYPE_I8042 "i8042" 14*41ea8205SEduardo Habkost #define I8042(obj) OBJECT_CHECK(ISAKBDState, (obj), TYPE_I8042) 1547973a2dSPhilippe Mathieu-Daudé 1647973a2dSPhilippe Mathieu-Daudé #define I8042_A20_LINE "a20" 1747973a2dSPhilippe Mathieu-Daudé 180fe4bb32SMarc-André Lureau typedef struct ISAKBDState ISAKBDState; 190fe4bb32SMarc-André Lureau 2047973a2dSPhilippe Mathieu-Daudé void i8042_mm_init(qemu_irq kbd_irq, qemu_irq mouse_irq, 2147973a2dSPhilippe Mathieu-Daudé MemoryRegion *region, ram_addr_t size, 2247973a2dSPhilippe Mathieu-Daudé hwaddr mask); 230fe4bb32SMarc-André Lureau void i8042_isa_mouse_fake_event(ISAKBDState *isa); 2447973a2dSPhilippe Mathieu-Daudé void i8042_setup_a20_line(ISADevice *dev, qemu_irq a20_out); 2547973a2dSPhilippe Mathieu-Daudé 2647973a2dSPhilippe Mathieu-Daudé #endif /* HW_INPUT_I8042_H */ 27