[AArch64 boot-wrapper][PATCH] aarch64: Enable FGT for EL2

Subsystems: the rest

4 messages, 4 authors, 2021-05-04 · open the first message on its own page

[AArch64 boot-wrapper][PATCH] aarch64: Enable FGT for EL2

From: Marc Zyngier <maz@kernel.org>
Date: 2021-05-03 12:15:02

We have no intention of handling FGT traps to EL3, so let EL2
play with the feature directly.

Signed-off-by: Marc Zyngier <maz@kernel.org>
---

Notes:
    Needed to boot Linux 5.13 at EL2.

 arch/aarch64/boot.S | 7 +++++++
 1 file changed, 7 insertions(+)
diff --git a/arch/aarch64/boot.S b/arch/aarch64/boot.S
index e47cf59..fd7133d 100644
--- a/arch/aarch64/boot.S
+++ b/arch/aarch64/boot.S
@@ -54,6 +54,13 @@ _start:
 	cbz	x1, 1f
 
 	orr	x0, x0, #(1 << 34)		// TME enable
+1:
+	/* Enable FGT if present */
+	mrs	x1, id_aa64mmfr0_el1
+	ubfx	x1, x1, #56, #4
+	cbz	x1, 1f
+
+	orr	x0, x0, #(1 << 27)		// FGT enable
 1:
 #ifndef KERNEL_32
 	orr	x0, x0, #(1 << 10)		// 64-bit EL2
-- 
2.29.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [AArch64 boot-wrapper][PATCH] aarch64: Enable FGT for EL2

From: Andre Przywara <andre.przywara@arm.com>
Date: 2021-05-04 15:22:08

On Mon,  3 May 2021 13:09:20 +0100
Marc Zyngier [off-list ref] wrote:
We have no intention of handling FGT traps to EL3, so let EL2
play with the feature directly.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Verified the bits used against the ARM ARM. Also Trusted Firmware does
the same thing, so:

Reviewed-by: Andre Przywara <andre.przywara@arm.com>

Cheers,
Andre
quoted hunk
---

Notes:
    Needed to boot Linux 5.13 at EL2.

 arch/aarch64/boot.S | 7 +++++++
 1 file changed, 7 insertions(+)
diff --git a/arch/aarch64/boot.S b/arch/aarch64/boot.S
index e47cf59..fd7133d 100644
--- a/arch/aarch64/boot.S
+++ b/arch/aarch64/boot.S
@@ -54,6 +54,13 @@ _start:
 	cbz	x1, 1f
 
 	orr	x0, x0, #(1 << 34)		// TME enable
+1:
+	/* Enable FGT if present */
+	mrs	x1, id_aa64mmfr0_el1
+	ubfx	x1, x1, #56, #4
+	cbz	x1, 1f
+
+	orr	x0, x0, #(1 << 27)		// FGT enable
 1:
 #ifndef KERNEL_32
 	orr	x0, x0, #(1 << 10)		// 64-bit EL2

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [AArch64 boot-wrapper][PATCH] aarch64: Enable FGT for EL2

From: Sudeep Holla <hidden>
Date: 2021-05-04 15:31:40

On Mon, May 03, 2021 at 01:09:20PM +0100, Marc Zyngier wrote:
We have no intention of handling FGT traps to EL3, so let EL2
play with the feature directly.
I had cooked up hacky fix after Mark Brown pointed out this could be
reason for boot failure on FVP. So,

Tested-by: Sudeep Holla <redacted>

-- 
Regards,
Sudeep

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [AArch64 boot-wrapper][PATCH] aarch64: Enable FGT for EL2

From: Mark Rutland <mark.rutland@arm.com>
Date: 2021-05-04 15:32:47

On Mon, May 03, 2021 at 01:09:20PM +0100, Marc Zyngier wrote:
We have no intention of handling FGT traps to EL3, so let EL2
play with the feature directly.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Thanks; applied.

Mark.
quoted hunk
---

Notes:
    Needed to boot Linux 5.13 at EL2.

 arch/aarch64/boot.S | 7 +++++++
 1 file changed, 7 insertions(+)
diff --git a/arch/aarch64/boot.S b/arch/aarch64/boot.S
index e47cf59..fd7133d 100644
--- a/arch/aarch64/boot.S
+++ b/arch/aarch64/boot.S
@@ -54,6 +54,13 @@ _start:
 	cbz	x1, 1f
 
 	orr	x0, x0, #(1 << 34)		// TME enable
+1:
+	/* Enable FGT if present */
+	mrs	x1, id_aa64mmfr0_el1
+	ubfx	x1, x1, #56, #4
+	cbz	x1, 1f
+
+	orr	x0, x0, #(1 << 27)		// FGT enable
 1:
 #ifndef KERNEL_32
 	orr	x0, x0, #(1 << 10)		// 64-bit EL2
-- 
2.29.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help