aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarah Walker <sarah.walker2@arm.com>2026-05-12 12:15:49 +0000
committerAndrew Turner <andrew@FreeBSD.org>2026-05-12 16:54:41 +0000
commita6add87b5e174702261f3b8e8022791ed4ab9898 (patch)
tree53746d55fdf812703e66fb2235455ab88e85eba5
parent56abdbc5f709fc0e18624b3b7586647459922a41 (diff)
arm64: Load SOCDEV_PA as a literal rather than an immediate
When EARLY_PRINTK is used in a realm environment, the UART physical address must be in the unprotected address space. The resulting physical address will not generally fit in an immediate, so use a literal instead. Reviewed by: andrew Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D56600
-rw-r--r--sys/arm64/arm64/locore.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S
index 14300eceb6d5..b200aa93c281 100644
--- a/sys/arm64/arm64/locore.S
+++ b/sys/arm64/arm64/locore.S
@@ -799,7 +799,7 @@ common:
adrp x9, socdev_va
str x17, [x9, :lo12:socdev_va]
- mov x9, #(SOCDEV_PA & ~L2_OFFSET) /* PA start */
+ ldr x9, =(SOCDEV_PA) /* PA start */
mov x10, #1
bl build_l2_block_pagetable
#endif