lkml.org 
[lkml]   [2014]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.14 034/238] ARM/ARM64: KVM: Nuke Hyp-mode tlbs before enabling MMU
    Date
    3.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>

    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 | 4 ++++
    arch/arm64/kvm/hyp-init.S | 4 ++++
    2 files changed, 8 insertions(+)

    --- a/arch/arm/kvm/init.S
    +++ b/arch/arm/kvm/init.S
    @@ -98,6 +98,10 @@ __do_hyp_init:
    mrc p15, 0, r0, c10, c2, 1
    mcr p15, 4, r0, c10, c2, 1

    + @ Invalidate the stale TLBs from Bootloader
    + mcr p15, 4, r0, c8, c7, 0 @ TLBIALLH
    + dsb ish
    +
    @ Set the HSCTLR to:
    @ - ARM/THUMB exceptions: Kernel config (Thumb-2 kernel)
    @ - Endianness: Kernel config
    --- a/arch/arm64/kvm/hyp-init.S
    +++ b/arch/arm64/kvm/hyp-init.S
    @@ -74,6 +74,10 @@ __do_hyp_init:
    msr mair_el2, x4
    isb

    + /* Invalidate the stale TLBs from Bootloader */
    + tlbi alle2
    + dsb sy
    +
    mrs x4, sctlr_el2
    and x4, x4, #SCTLR_EL2_EE // preserve endianness of EL2
    ldr x5, =SCTLR_EL2_FLAGS



    \
     
     \ /
      Last update: 2014-10-04 02:41    [W:4.072 / U:0.744 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site