irqdomain: irq_domain_check_msi_remap
authorEric Auger <eric.auger@redhat.com>
Thu, 19 Jan 2017 20:57:59 +0000 (20:57 +0000)
committerWill Deacon <will.deacon@arm.com>
Mon, 23 Jan 2017 15:00:45 +0000 (15:00 +0000)
commitc7b41f0af38f53e46050b56a5b0e96710097b83c
tree11687bd608512ebc4e4dbfdf4056dddfaf6af902
parent88156f00904183d99e19269fbdb5cb56dc1522c3
irqdomain: irq_domain_check_msi_remap

This new function checks whether all MSI irq domains
implement IRQ remapping. This is useful to understand
whether VFIO passthrough is safe with respect to interrupts.

On ARM typically an MSI controller can sit downstream
to the IOMMU without preventing VFIO passthrough.
As such any assigned device can write into the MSI doorbell.
In case the MSI controller implements IRQ remapping, assigned
devices will not be able to trigger interrupts towards the
host. On the contrary, the assignment must be emphasized as
unsafe with respect to interrupts.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Tomasz Nowicki <tomasz.nowicki@caviumnetworks.com>
Tested-by: Tomasz Nowicki <tomasz.nowicki@caviumnetworks.com>
Tested-by: Bharat Bhushan <bharat.bhushan@nxp.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
include/linux/irqdomain.h
kernel/irq/irqdomain.c