Skip to content
  • BALATON Zoltan's avatar
    7e01bd80
    hw/isa/vt82c686: Bring back via_isa_set_irq() · 7e01bd80
    BALATON Zoltan authored
    
    
    The VIA integrated south bridge chips combine several functions and
    allow routing their interrupts to any of the ISA IRQs also allowing
    multiple sources to share the same ISA IRQ. E.g. pegasos2 firmware
    configures everything to use IRQ 9 but amigaone routes them to
    separate ISA IRQs so the current simplified routing does not work.
    Bring back via_isa_set_irq() and change it to take the component that
    wants to change an IRQ and keep track of interrupt status of each
    source separately and do the mapping to ISA IRQ within the ISA bridge.
    
    This may not handle cases when an ISA IRQ is controlled by devices
    directly, not going through via_isa_set_irq() such as serial, parallel
    or keyboard but these IRQs being conventionally fixed are not likely
    to be change by guests or share with other devices so this does not
    cause a problem in practice.
    
    This reverts commit 4e5a20b6.
    
    Signed-off-by: default avatarBALATON Zoltan <balaton@eik.bme.hu>
    Message-ID: <1c3902d4166234bef0a476026441eaac3dd6cda5.1701035944.git.balaton@eik.bme.hu>
    Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
    7e01bd80
    hw/isa/vt82c686: Bring back via_isa_set_irq()
    BALATON Zoltan authored
    
    
    The VIA integrated south bridge chips combine several functions and
    allow routing their interrupts to any of the ISA IRQs also allowing
    multiple sources to share the same ISA IRQ. E.g. pegasos2 firmware
    configures everything to use IRQ 9 but amigaone routes them to
    separate ISA IRQs so the current simplified routing does not work.
    Bring back via_isa_set_irq() and change it to take the component that
    wants to change an IRQ and keep track of interrupt status of each
    source separately and do the mapping to ISA IRQ within the ISA bridge.
    
    This may not handle cases when an ISA IRQ is controlled by devices
    directly, not going through via_isa_set_irq() such as serial, parallel
    or keyboard but these IRQs being conventionally fixed are not likely
    to be change by guests or share with other devices so this does not
    cause a problem in practice.
    
    This reverts commit 4e5a20b6.
    
    Signed-off-by: default avatarBALATON Zoltan <balaton@eik.bme.hu>
    Message-ID: <1c3902d4166234bef0a476026441eaac3dd6cda5.1701035944.git.balaton@eik.bme.hu>
    Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
Loading