Skip to content
  • Mark Cave-Ayland's avatar
    212a3003
    lasips2: switch to using port-based IRQs · 212a3003
    Mark Cave-Ayland authored
    
    
    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.
    
    For now this patch ignores adding the int_status bitmap and simply drops the
    birq boolean from the vmstate_lasips2 VMStateDescription. This is because the
    migration stream is already missing some required LASIPS2 fields, and as this
    series already introduces a migration break for the lasips2 device it is
    easiest to fix this in a follow-up patch.
    
    Signed-off-by: default avatarMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
    Tested-by: default avatarHelge Deller <deller@gmx.de>
    Acked-by: default avatarHelge Deller <deller@gmx.de>
    Message-Id: <20220712215251.7944-29-mark.cave-ayland@ilande.co.uk>
    Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
    212a3003
    lasips2: switch to using port-based IRQs
    Mark Cave-Ayland authored
    
    
    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.
    
    For now this patch ignores adding the int_status bitmap and simply drops the
    birq boolean from the vmstate_lasips2 VMStateDescription. This is because the
    migration stream is already missing some required LASIPS2 fields, and as this
    series already introduces a migration break for the lasips2 device it is
    easiest to fix this in a follow-up patch.
    
    Signed-off-by: default avatarMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
    Tested-by: default avatarHelge Deller <deller@gmx.de>
    Acked-by: default avatarHelge Deller <deller@gmx.de>
    Message-Id: <20220712215251.7944-29-mark.cave-ayland@ilande.co.uk>
    Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Loading