linux/virt/kvm/arm
Christoffer Dall 771621b0e2 KVM: arm/arm64: Handle VGICv3 save/restore from the main VGIC code on VHE
Just like we can program the GICv2 hypervisor control interface directly
from the core vgic code, we can do the same for the GICv3 hypervisor
control interface on VHE systems.

We do this by simply calling the save/restore functions when we have VHE
and we can then get rid of the save/restore function calls from the VHE
world switch function.

One caveat is that we now write GICv3 system register state before the
potential early exit path in the run loop, and because we sync back
state in the early exit path, we have to ensure that we read a
consistent GIC state from the sync path, even though we have never
actually run the guest with the newly written GIC state.  We solve this
by inserting an ISB in the early exit path.

Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-03-19 10:53:21 +00:00
..
hyp KVM: arm/arm64: Move arm64-only vgic-v2-sr.c file to arm64 2018-03-19 10:53:20 +00:00
vgic KVM: arm/arm64: Handle VGICv3 save/restore from the main VGIC code on VHE 2018-03-19 10:53:21 +00:00
aarch32.c KVM: arm/arm64: Prepare to handle deferred save/restore of SPSR_EL1 2018-03-19 10:53:17 +00:00
arch_timer.c KVM: arm/arm64: Move vcpu_load call after kvm_vcpu_first_run_init 2018-03-19 10:53:09 +00:00
arm.c KVM: arm/arm64: Handle VGICv3 save/restore from the main VGIC code on VHE 2018-03-19 10:53:21 +00:00
mmio.c KVM: Fix stack-out-of-bounds read in write_mmio 2017-12-18 12:57:01 +01:00
mmu.c KVM: arm/arm64: Get rid of vcpu->arch.irq_lines 2018-03-19 10:53:10 +00:00
perf.c KVM: arm/arm64: Move shared files to virt/kvm/arm 2017-05-04 13:57:26 +02:00
pmu.c KVM: arm64: Rewrite system register accessors to read/write functions 2018-03-19 10:53:16 +00:00
psci.c arm64: KVM: Report SMCCC_ARCH_WORKAROUND_1 BP hardening support 2018-02-06 22:54:05 +00:00
trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00