diff options
| author | Sarah Walker <sarah.walker2@arm.com> | 2026-05-12 12:15:49 +0000 |
|---|---|---|
| committer | Andrew Turner <andrew@FreeBSD.org> | 2026-05-12 16:54:41 +0000 |
| commit | a6add87b5e174702261f3b8e8022791ed4ab9898 (patch) | |
| tree | 53746d55fdf812703e66fb2235455ab88e85eba5 | |
| parent | 56abdbc5f709fc0e18624b3b7586647459922a41 (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.S | 2 |
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 |
