linux/arch/arm64/kvm
Marc Zyngier 6892517629 arm64: KVM: VHE: Clear HCR_TGE when invalidating guest TLBs
When invalidating guest TLBs, special care must be taken to
actually shoot the guest TLBs and not the host ones if we're
running on a VHE system.  This is controlled by the HCR_EL2.TGE
bit, which we forget to clear before invalidating TLBs.

Address the issue by introducing two wrappers (__tlb_switch_to_guest
and __tlb_switch_to_host) that take care of both the VTTBR_EL2
and HCR_EL2.TGE switching.

Reported-by: Tomasz Nowicki <tnowicki@caviumnetworks.com>
Tested-by: Tomasz Nowicki <tnowicki@caviumnetworks.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Cc: stable@vger.kernel.org
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2017-03-06 10:28:24 +00:00
..
hyp arm64: KVM: VHE: Clear HCR_TGE when invalidating guest TLBs 2017-03-06 10:28:24 +00:00
debug.c arm64: KVM: Save/restore the host SPE state when entering/leaving a VM 2017-02-02 18:33:01 +00:00
guest.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
handle_exit.c arm64: Support systems without FP/ASIMD 2016-11-16 18:05:10 +00:00
hyp-init.S arm64: KVM: Simplify HYP init/teardown 2016-07-03 23:41:27 +02:00
hyp.S arm64/kvm: use alternative auto-nop 2016-09-12 10:46:07 +01:00
inject_fault.c arm64: KVM: Add Virtual Abort injection helper 2016-09-08 12:53:00 +02:00
irq.h KVM: arm/arm64: Enable irqchip routing 2016-07-22 18:52:01 +01:00
Kconfig ARM: KVM: Support vGICv3 ITS 2016-11-14 10:32:54 +00:00
Makefile KVM: arm/arm64: vgic: Implement VGICv3 CPU interface access 2017-01-30 13:47:25 +00:00
regmap.c arm64: KVM: 32bit GP register access 2013-06-12 16:42:14 +01:00
reset.c KVM: arm/arm64: Initialize the emulated EL1 physical timer 2017-02-08 15:13:34 +00:00
sys_regs_generic_v8.c arm64/kvm: use {read,write}_sysreg() 2016-09-09 11:42:27 +01:00
sys_regs.c KVM: arm/arm64: Emulate the EL1 phys timer registers 2017-02-08 15:13:37 +00:00
sys_regs.h KVM: arm/arm64: vgic: Introduce find_reg_by_id() 2017-01-30 13:47:16 +00:00
trace.h KVM: arm64: add trace points for guest_debug debug 2015-07-21 12:50:43 +01:00
vgic-sys-reg-v3.c KVM: arm/arm64: vgic: Implement VGICv3 CPU interface access 2017-01-30 13:47:25 +00:00