linux/arch/arm64/kvm
Marc Zyngier 026f44213a arm64: KVM: Fix HCR setting for 32bit guests
commit 801f6772ce upstream.

Commit b856a59141 (arm/arm64: KVM: Reset the HCR on each vcpu
when resetting the vcpu) moved the init of the HCR register to
happen later in the init of a vcpu, but left out the fixup
done in kvm_reset_vcpu when preparing for a 32bit guest.

As a result, the 32bit guest is run as a 64bit guest, but the
rest of the kernel still manages it as a 32bit. Fun follows.

Moving the fixup to vcpu_reset_hcr solves the problem for good.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2015-05-20 13:25:53 +01:00
..
emulate.c arm64: KVM: 32bit conditional execution emulation 2013-06-12 16:42:15 +01:00
guest.c arm/arm64: KVM: Reset the HCR on each vcpu when resetting the vcpu 2015-05-20 13:25:51 +01:00
handle_exit.c arm/arm64: KVM: Complete WFI/WFE instructions 2014-10-05 13:40:52 -07:00
hyp-init.S ARM/ARM64: KVM: Nuke Hyp-mode tlbs before enabling MMU 2014-10-05 13:40:53 -07:00
hyp.S arm64: KVM: Fix TLB invalidation by IPA/VMID 2015-05-20 13:25:53 +01:00
inject_fault.c arm64: KVM: 32bit guest fault injection 2013-06-12 16:42:18 +01:00
Kconfig arm64: KVM: Add Kconfig option for max VCPUs per-Guest 2013-12-28 10:28:50 +00:00
Makefile arm64: KVM: 32bit conditional execution emulation 2013-06-12 16:42:15 +01:00
regmap.c arm64: KVM: 32bit GP register access 2013-06-12 16:42:14 +01:00
reset.c arm64: KVM: Fix HCR setting for 32bit guests 2015-05-20 13:25:53 +01:00
sys_regs.c KVM: ARM/arm64: avoid returning negative error code as bool 2015-05-20 13:25:43 +01:00
sys_regs.h arm64: KVM: allows discrimination of AArch32 sysreg access 2014-03-03 01:15:21 +00:00
sys_regs_generic_v8.c arm64: KVM: Enable minimalistic support for Cortex-A53 2014-05-25 20:05:30 +02:00