hw/intc/arm_gicv3_its: Implement support for in-kernel ITS emulation
commit0c9f302ea2906eb763cd175134e34d23ed4fea6a
authorPavel Fedin <p.fedin@samsung.com>
Tue, 4 Oct 2016 12:28:09 +0000 (4 13:28 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 4 Oct 2016 12:28:09 +0000 (4 13:28 +0100)
tree77eb2692236a515e1c3387dde3037c3949d6c797
parent767a554a0c752cff1e1d17550aefd4e9dca881d6
hw/intc/arm_gicv3_its: Implement support for in-kernel ITS emulation

The ITS control frame is in-kernel emulated while accesses to the
GITS_TRANSLATER are mediated through the KVM_SIGNAL_MSI ioctl (MSI
direct MSI injection advertised by the CAP_SIGNAL_MSI capability)

the kvm_gsi_direct_mapping is explicitly set to false to emphasize the
difference with GICv2M. Direct mapping cannot work with ITS since
the content of the MSI data is not the target interrupt ID but an
eventd id.

GSI routing is advertised (kvm_gsi_routing_allowed) as well as
msi/irqfd signaling (kvm_msi_via_irqfd_allowed).

The MSI frame (GITS_TRANSLATER) absolute GPA is computed on first
kvm_its_send_msi() call. It is then passed through KVM_SIGNAL_MSI
ioctl.

Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Message-id: 1474616617-366-6-git-send-email-eric.auger@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/intc/Makefile.objs
hw/intc/arm_gicv3_its_kvm.c [new file with mode: 0644]