mirror of https://github.com/xemu-project/xemu.git
lasips2: add named input gpio to handle incoming port IRQs
The LASIPS2 device named input gpio is soon to be connected to the port output IRQs. Add a new int_status field to LASIPS2State which is a bitmap representing the port input IRQ status which will be enabled in the next patch. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Tested-by: Helge Deller <deller@gmx.de> Acked-by: Helge Deller <deller@gmx.de> Message-Id: <20220712215251.7944-28-mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
d0af5d6a40
commit
ca735a81b2
|
@ -125,6 +125,19 @@ static void lasips2_update_irq(LASIPS2State *s)
|
||||||
s->mouse_port.parent_obj.birq);
|
s->mouse_port.parent_obj.birq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void lasips2_set_irq(void *opaque, int n, int level)
|
||||||
|
{
|
||||||
|
LASIPS2State *s = LASIPS2(opaque);
|
||||||
|
|
||||||
|
if (level) {
|
||||||
|
s->int_status |= BIT(n);
|
||||||
|
} else {
|
||||||
|
s->int_status &= ~BIT(n);
|
||||||
|
}
|
||||||
|
|
||||||
|
lasips2_update_irq(s);
|
||||||
|
}
|
||||||
|
|
||||||
static void lasips2_reg_write(void *opaque, hwaddr addr, uint64_t val,
|
static void lasips2_reg_write(void *opaque, hwaddr addr, uint64_t val,
|
||||||
unsigned size)
|
unsigned size)
|
||||||
{
|
{
|
||||||
|
@ -303,6 +316,8 @@ static void lasips2_init(Object *obj)
|
||||||
"ps2-kbd-input-irq", 1);
|
"ps2-kbd-input-irq", 1);
|
||||||
qdev_init_gpio_in_named(DEVICE(obj), lasips2_set_mouse_irq,
|
qdev_init_gpio_in_named(DEVICE(obj), lasips2_set_mouse_irq,
|
||||||
"ps2-mouse-input-irq", 1);
|
"ps2-mouse-input-irq", 1);
|
||||||
|
qdev_init_gpio_in_named(DEVICE(obj), lasips2_set_irq,
|
||||||
|
"lasips2-port-input-irq", 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lasips2_class_init(ObjectClass *klass, void *data)
|
static void lasips2_class_init(ObjectClass *klass, void *data)
|
||||||
|
|
|
@ -69,6 +69,7 @@ struct LASIPS2State {
|
||||||
|
|
||||||
LASIPS2KbdPort kbd_port;
|
LASIPS2KbdPort kbd_port;
|
||||||
LASIPS2MousePort mouse_port;
|
LASIPS2MousePort mouse_port;
|
||||||
|
uint8_t int_status;
|
||||||
qemu_irq irq;
|
qemu_irq irq;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue