KVM: arm/arm64: Support uaccess of GICC_APRn
authorChristoffer Dall <cdall@linaro.org>
Thu, 31 Aug 2017 20:24:25 +0000 (22:24 +0200)
committerChristoffer Dall <cdall@linaro.org>
Tue, 5 Sep 2017 15:33:39 +0000 (17:33 +0200)
commit9b87e7a8bfb5098129836757608b3cbbdc11245a
tree915298210e091afabb92388d32e7256e853d9d96
parent50f5bd5718df9e71d1f4ba69a6480dbad54b2f24
KVM: arm/arm64: Support uaccess of GICC_APRn

When migrating guests around we need to know the active priorities to
ensure functional virtual interrupt prioritization by the GIC.

This commit clarifies the API and how active priorities of interrupts in
different groups are represented, and implements the accessor functions
for the uaccess register range.

We live with a slight layering violation in accessing GICv3 data
structures from vgic-mmio-v2.c, because anything else just adds too much
complexity for us to deal with (it's not like there's a benefit
elsewhere in the code of an intermediate representation as is the case
with the VMCR).  We accept this, because while doing v3 processing from
a file named something-v2.c can look strange at first, this really is
specific to dealing with the user space interface for something that
looks like a GICv2.

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
Documentation/virtual/kvm/devices/arm-vgic.txt
virt/kvm/arm/vgic/vgic-mmio-v2.c