linux_dsm_epyc7002/arch/arm64/kvm/hyp
Marc Zyngier 68908bf789 arm64: KVM: VHE: Implement VHE activate/deactivate_traps
Running the kernel in HYP mode requires the HCR_E2H bit to be set
at all times, and the HCR_TGE bit to be set when running as a host
(and cleared when running as a guest). At the same time, the vector
 must be set to the current role of the kernel (either host or
hypervisor), and a couple of system registers differ between VHE
and non-VHE.

We implement these by using another set of alternate functions
that get dynamically patched.

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-02-29 18:34:17 +00:00
..
debug-sr.c arm64: KVM: Remove weak attributes 2015-12-14 11:30:44 +00:00
entry.S arm64: KVM: Turn system register numbers to an enum 2015-12-14 11:30:43 +00:00
fpsimd.S arm64: KVM: Implement fpsimd save/restore 2015-12-14 11:30:41 +00:00
hyp-entry.S arm64: KVM: VHE: Patch out use of HVC 2016-02-29 18:34:16 +00:00
hyp.h arm64: KVM: VHE: Make __fpsimd_enabled VHE aware 2016-02-29 18:34:17 +00:00
Makefile arm64: KVM: Switch to C-based stage2 init 2016-02-29 18:34:15 +00:00
s2-setup.c arm64: KVM: Switch to C-based stage2 init 2016-02-29 18:34:15 +00:00
switch.c arm64: KVM: VHE: Implement VHE activate/deactivate_traps 2016-02-29 18:34:17 +00:00
sysreg-sr.c arm64: KVM: VHE: Enable minimal sysreg save/restore 2016-02-29 18:34:17 +00:00
timer-sr.c arm64: KVM: Implement timer save/restore 2015-12-14 11:30:39 +00:00
tlb.c arm64: KVM: Remove weak attributes 2015-12-14 11:30:44 +00:00
vgic-v2-sr.c arm64: KVM: Implement vgic-v2 save/restore 2015-12-14 11:30:38 +00:00
vgic-v3-sr.c arm64: KVM: vgic-v3: Restore ICH_APR0Rn_EL2 before ICH_APR1Rn_EL2 2016-02-24 17:25:58 +00:00