• Paul Mackerras's avatar
    KVM: PPC: Enable IRQFD support for the XICS interrupt controller · 25a2150b
    Paul Mackerras authored
    This makes it possible to use IRQFDs on platforms that use the XICS
    interrupt controller.  To do this we implement kvm_irq_map_gsi() and
    kvm_irq_map_chip_pin() in book3s_xics.c, so as to provide a 1-1 mapping
    between global interrupt numbers and XICS interrupt source numbers.
    For now, all interrupts are mapped as "IRQCHIP" interrupts, and no
    MSI support is provided.
    
    This means that kvm_set_irq can now get called with level == 0 or 1
    as well as the powerpc-specific values KVM_INTERRUPT_SET,
    KVM_INTERRUPT_UNSET and KVM_INTERRUPT_SET_LEVEL.  We change
    ics_deliver_irq() to accept all those values, and remove its
    report_status argument, as it is always false, given that we don't
    support KVM_IRQ_LINE_STATUS.
    
    This also adds support for interrupt ack notifiers to the XICS code
    so that the IRQFD resampler functionality can be supported.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Tested-by: default avatarEric Auger <eric.auger@linaro.org>
    Tested-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    25a2150b
book3s_hv_rm_xics.c 10.7 KB