Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fc18047c authored by Matthew Leach's avatar Matthew Leach Committed by Catalin Marinas
Browse files

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: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarMatthew Leach <matthew.leach@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 1f65c13e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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