WSL2-Linux-Kernel/virt/kvm/arm/vgic
Christoffer Dall 9b87e7a8bf 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>
2017-09-05 17:33:39 +02:00
..
trace.h KVM: arm/arm64: Move shared files to virt/kvm/arm 2017-05-04 13:57:26 +02:00
vgic-debug.c KVM: arm/arm64: vgic: constify seq_operations and file_operations 2017-09-05 17:33:38 +02:00
vgic-init.c KVM: arm/arm64: Fix bug in advertising KVM_CAP_MSI_DEVID capability 2017-07-25 14:17:34 +01:00
vgic-irqfd.c KVM: arm/arm64: Disallow userspace control of in-kernel IRQ lines 2017-06-08 17:58:40 +02:00
vgic-its.c KVM: arm/arm64: vITS: Drop its_ite->lpi field 2017-09-05 17:33:38 +02:00
vgic-kvm-device.c KVM: arm/arm64: Register iodevs when setting redist base and creating VCPUs 2017-05-09 12:19:36 +02:00
vgic-mmio-v2.c KVM: arm/arm64: Support uaccess of GICC_APRn 2017-09-05 17:33:39 +02:00
vgic-mmio-v3.c KVM: arm/arm64: vgic: Use READ_ONCE fo cmpxchg 2017-08-03 15:47:36 +01:00
vgic-mmio.c KVM: arm/arm64: Simplify active_change_prepare and plug race 2017-05-23 12:48:22 +02:00
vgic-mmio.h KVM: arm/arm64: Separate guest and uaccess writes to dist {sc}active 2017-05-23 12:48:11 +02:00
vgic-v2.c KVM: arm/arm64: Fix isues with GICv2 on GICv3 migration 2017-05-24 09:44:07 +02:00
vgic-v3.c KVM: arm64: vgic-v3: Log which GICv3 system registers are trapped 2017-06-15 09:45:06 +01:00
vgic.c KVM: arm/arm64: Disallow userspace control of in-kernel IRQ lines 2017-06-08 17:58:40 +02:00
vgic.h KVM: arm/arm64: Extract GICv3 max APRn index calculation 2017-09-05 17:33:39 +02:00