ARM/ARM64: KVM: Nuke Hyp-mode tlbs before enabling MMU
authorPranavkumar Sawargaonkar <pranavkumar@linaro.org>
Thu, 31 Jul 2014 06:53:23 +0000 (12:23 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 5 Oct 2014 21:52:10 +0000 (14:52 -0700)
commit0a7c89f6c76c264fb8ff9492421cf279f2bc085c
tree80ca201a92dd71cea35fa9a271cf7607e8d5adff
parent6487706b8ab6a4b737d2b0019b4bcacdbf3db73b
ARM/ARM64: KVM: Nuke Hyp-mode tlbs before enabling MMU

commit f6edbbf36da3a27b298b66c7955fc84e1dcca305 upstream.

X-Gene u-boot runs in EL2 mode with MMU enabled hence we might
have stale EL2 tlb enteris when we enable EL2 MMU on each host CPU.

This can happen on any ARM/ARM64 board running bootloader in
Hyp-mode (or EL2-mode) with MMU enabled.

This patch ensures that we flush all Hyp-mode (or EL2-mode) TLBs
on each host CPU before enabling Hyp-mode (or EL2-mode) MMU.

Tested-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
Signed-off-by: Anup Patel <anup.patel@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/kvm/init.S
arch/arm64/kvm/hyp-init.S