[aarch64 boot-wrapper][PATCH] aarch64: Enable access to allocation tags if MTE is present

Catalin Marinas catalin.marinas at arm.com
Wed May 5 02:38:55 PDT 2021


SCR_EL3.ATA must be set so that software can access the allocation
(in-memory) MTE tags.

Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
---
 arch/aarch64/boot.S | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/aarch64/boot.S b/arch/aarch64/boot.S
index fd7133d1725c..a9264de937be 100644
--- a/arch/aarch64/boot.S
+++ b/arch/aarch64/boot.S
@@ -61,6 +61,14 @@ _start:
 	cbz	x1, 1f
 
 	orr	x0, x0, #(1 << 27)		// FGT enable
+1:
+	/* Enable MTE if present */
+	mrs	x10, id_aa64pfr1_el1
+	ubfx	x10, x10, #8, #4
+	cmp	x10, #2
+	b.lt	1f
+
+	orr	x0, x0, #(1 << 26)		// ATA enable
 1:
 #ifndef KERNEL_32
 	orr	x0, x0, #(1 << 10)		// 64-bit EL2



More information about the linux-arm-kernel mailing list