[kvmarm] [PATCH 10/15] KVM: ARM: World-switch implementation

Peter Maydell peter.maydell at linaro.org
Tue Sep 25 13:15:50 EDT 2012


On 25 September 2012 18:00, Will Deacon <will.deacon at arm.com> wrote:
> On Sat, Sep 15, 2012 at 04:35:33PM +0100, Christoffer Dall wrote:
>>  ENTRY(__kvm_tlb_flush_vmid)
>> +       hvc     #0                      @ Switch to Hyp mode
>> +       push    {r2, r3}
>> +
>> +       add     r0, r0, #KVM_VTTBR
>> +       ldrd    r2, r3, [r0]
>> +       mcrr    p15, 6, r2, r3, c2      @ Write VTTBR
>> +       isb
>> +       mcr     p15, 0, r0, c8, c3, 0   @ TLBIALLIS (rt ignored)
>> +       dsb
>> +       isb
>> +       mov     r2, #0
>> +       mov     r3, #0
>> +       mcrr    p15, 6, r2, r3, c2      @ Back to VMID #0
>> +       isb
>
> Do you need this isb, given that you're about to do an hvc?
>
>> +       pop     {r2, r3}
>> +       hvc     #0                      @ Back to SVC
>>         bx      lr

...you probably don't want to do the memory accesses involved
in the 'pop' under the wrong VMID ?

-- PMM



More information about the linux-arm-kernel mailing list