On Wed, 29 Jun 2022 at 13:41, Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> wrote: > > Now we can implement port-based IRQs by wiring the PS2 device IRQs to the > LASI2Port named input gpios rather than directly to the LASIPS2 device, and > generate the LASIPS2 output IRQ from the int_status bitmap representing the > individual port IRQs instead of the birq boolean. > > This enables us to remove the separate PS2 keyboard and PS2 mouse named input > gpios from the LASIPS2 device and simplify the register implementation to > drive the port IRQ using qemu_set_irq() rather than accessing the LASIPS2 > device IRQs directly. As a consequence the IRQ level logic in > lasips2_set_irq() > can also be simplified accordingly. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> > --- > hw/input/lasips2.c | 59 ++++++++++++-------------------------- > include/hw/input/lasips2.h | 7 ++--- > 2 files changed, 20 insertions(+), 46 deletions(-) > > diff --git a/hw/input/lasips2.c b/hw/input/lasips2.c > index 013d891af6..5ceb38c1af 100644 > --- a/hw/input/lasips2.c > +++ b/hw/input/lasips2.c > @@ -42,10 +42,8 @@ static const VMStateDescription vmstate_lasips2 = { > .fields = (VMStateField[]) { > VMSTATE_UINT8(kbd_port.parent_obj.control, LASIPS2State), > VMSTATE_UINT8(kbd_port.parent_obj.id, LASIPS2State), > - VMSTATE_BOOL(kbd_port.parent_obj.birq, LASIPS2State), > VMSTATE_UINT8(mouse_port.parent_obj.control, LASIPS2State), > VMSTATE_UINT8(mouse_port.parent_obj.id, LASIPS2State), > - VMSTATE_BOOL(mouse_port.parent_obj.birq, LASIPS2State), > VMSTATE_END_OF_LIST() > }
You should bump the version number when you remove fields, so that the error message on a mismatched-migration is clearer. -- PMM