From: Matthew Leach Date: Wed, 25 Sep 2013 15:33:13 +0000 (+0100) Subject: arm64: use correct register width when retrieving ASID X-Git-Tag: upstream/snapshot3+hdmi~4201^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fc18047c732f6becba92618a397555927687efd3;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git arm64: use correct register width when retrieving ASID The ASID is represented as an unsigned int in mm_context_t and we currently use the mmid assembler macro to access this element of the struct. This should be accessed with a register of 32-bit width. If the incorrect register width is used the ASID will be returned in bits[32:63] of the register when running under big-endian. Fix a use of the mmid macro in tlb.S to use a 32-bit access. Signed-off-by: Will Deacon Signed-off-by: Matthew Leach Signed-off-by: Catalin Marinas --- diff --git a/arch/arm64/mm/tlb.S b/arch/arm64/mm/tlb.S index 8ae80a1..19da91e 100644 --- a/arch/arm64/mm/tlb.S +++ b/arch/arm64/mm/tlb.S @@ -35,7 +35,7 @@ */ ENTRY(__cpu_flush_user_tlb_range) vma_vm_mm x3, x2 // get vma->vm_mm - mmid x3, x3 // get vm_mm->context.id + mmid w3, x3 // get vm_mm->context.id dsb sy lsr x0, x0, #12 // align address lsr x1, x1, #12