git: d1bd7d37cd76 - main - arm64: Stop trashing the padding after boot_el

From: Andrew Turner <andrew_at_FreeBSD.org>
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