git: d1bd7d37cd76 - main - arm64: Stop trashing the padding after boot_el
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 24 Aug 2026 14:46:27 UTC
The branch main has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=d1bd7d37cd767e8ca25b455d63256a6462c973c5
commit d1bd7d37cd767e8ca25b455d63256a6462c973c5
Author: Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2026-08-24 14:11:42 +0000
Commit: Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2026-08-24 14:45:18 +0000
arm64: Stop trashing the padding after boot_el
When building struct arm64_bootparams to pass to initarm we store the
boot_el field as a 64-bit value, however it is defined as an int which
is 32-bits.
Switch to store using the 'w' register as this will store a correctly
sized value.
Previously this would trash the trailing padding, so is only a
correctness issue.
Reviewed by: emaste
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D58988
---
sys/arm64/arm64/locore.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S
index bd61b485edf7..7d85b54d4688 100644
--- a/sys/arm64/arm64/locore.S
+++ b/sys/arm64/arm64/locore.S
@@ -156,7 +156,7 @@ virtdone:
add x25, x25, :lo12:initstack
str x25, [x0, #BP_KERN_STACK]
str x27, [x0, #BP_KERN_TTBR0]
- str x23, [x0, #BP_BOOT_EL]
+ str w23, [x0, #BP_BOOT_EL]
/* Set these before they are used in kasan_init_early */
adrp x1, pmap_sh_attr