Re: [PATCH 01/20] ARM/ARM64: KVM: Nuke Hyp-mode tlbs before enabling MMU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2014/10/17 17:36, Christoffer Dall wrote:

> Hi Zhuyjin,
> 
> Why are you cc'ing me patches that are already applied to the kvm/arm tree?
> 
> This looks like you're doing some git send-email command and forgot to
> suppress the CC.  Please be more careful in the future, as this is
> quite confusing to everyone!
> 


I'm sorry for giving trouble to all of you!  It will never happen...

> -Christoffer
> 
> On Fri, Oct 17, 2014 at 11:32 AM, zhuyijun <zhuyijun@xxxxxxxxxx> wrote:
>> From: Pranavkumar Sawargaonkar <pranavkumar@xxxxxxxxxx>
>>
>> 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.
>>
>> Cc: <stable@xxxxxxxxxxxxxxx>
>> Tested-by: Mark Rutland <mark.rutland@xxxxxxx>
>> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>
>> Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@xxxxxxxxxx>
>> Signed-off-by: Anup Patel <anup.patel@xxxxxxxxxx>
>> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
>> ---
>>  arch/arm/kvm/init.S       |    4 ++++
>>  arch/arm64/kvm/hyp-init.S |    4 ++++
>>  2 files changed, 8 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/kvm/init.S b/arch/arm/kvm/init.S
>> index 1b9844d..ee4f744 100644
>> --- 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
>> diff --git a/arch/arm64/kvm/hyp-init.S b/arch/arm64/kvm/hyp-init.S
>> index d968796..c319116 100644
>> --- a/arch/arm64/kvm/hyp-init.S
>> +++ b/arch/arm64/kvm/hyp-init.S
>> @@ -80,6 +80,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
>> --
>> 1.7.1
>>
>>
> 
> .
> 



--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]