linux/arch/arm64/kvm
Will Deacon 43297dda0a KVM: arm64: add workaround for Cortex-A57 erratum #852523
When restoring the system register state for an AArch32 guest at EL2,
writes to DACR32_EL2 may not be correctly synchronised by Cortex-A57,
which can lead to the guest effectively running with junk in the DACR
and running into unexpected domain faults.

This patch works around the issue by re-ordering our restoration of the
AArch32 register aliases so that they happen before the AArch64 system
registers. Ensuring that the registers are restored in this order
guarantees that they will be correctly synchronised by the core.

Cc: <stable@vger.kernel.org>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2015-09-14 16:46:39 +01:00
..
debug.c KVM: arm64: add trace points for guest_debug debug 2015-07-21 12:50:43 +01:00
emulate.c arm64: kvm: move to ESR_ELx macros 2015-01-15 12:24:25 +00:00
guest.c arm64/kvm: Add generic v8 KVM target 2015-08-12 11:28:22 +01:00
handle_exit.c KVM: arm64: enable KVM_CAP_SET_GUEST_DEBUG 2015-07-21 12:50:43 +01:00
hyp-init.S arm64: KVM: use ID map with increased VA range if required 2015-03-23 11:35:29 +00:00
hyp.S KVM: arm64: add workaround for Cortex-A57 erratum #852523 2015-09-14 16:46:39 +01:00
inject_fault.c arm64: kvm: move to ESR_ELx macros 2015-01-15 12:24:25 +00:00
Kconfig KVM: arm/arm64: Enable the KVM-VFIO device 2015-06-17 09:46:29 +01:00
Makefile KVM: arm: introduce kvm_arm_init/setup/clear_debug 2015-07-21 12:47:08 +01:00
regmap.c arm64: KVM: 32bit GP register access 2013-06-12 16:42:14 +01:00
reset.c KVM: arm/arm64: timer: Allow the timer to control the active state 2015-08-12 11:28:26 +01:00
sys_regs_generic_v8.c arm64/kvm: Add generic v8 KVM target 2015-08-12 11:28:22 +01:00
sys_regs.c KVM: arm64: add trace points for guest_debug debug 2015-07-21 12:50:43 +01:00
sys_regs.h KVM: arm64: introduce vcpu->arch.debug_ptr 2015-07-21 12:50:25 +01:00
trace.h KVM: arm64: add trace points for guest_debug debug 2015-07-21 12:50:43 +01:00
vgic-v2-switch.S arm/arm64: KVM: vgic: Do not save GICH_HCR / ICH_HCR_EL2 2015-06-17 09:59:55 +01:00
vgic-v3-switch.S arm/arm64: KVM: vgic: Do not save GICH_HCR / ICH_HCR_EL2 2015-06-17 09:59:55 +01:00