summaryrefslogtreecommitdiff
path: root/Kernel/Arch/aarch64/boot.S
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/Arch/aarch64/boot.S')
-rw-r--r--Kernel/Arch/aarch64/boot.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/Kernel/Arch/aarch64/boot.S b/Kernel/Arch/aarch64/boot.S
index 2a582e4300..ac4796f616 100644
--- a/Kernel/Arch/aarch64/boot.S
+++ b/Kernel/Arch/aarch64/boot.S
@@ -19,11 +19,13 @@ start:
// 512 kiB (0x80000) of stack are probably not sufficient, especially once we give the other cores some stack too,
// but for now it's ok.
msr SPSel, #0 //Use the same SP as we descend into EL1
- ldr x14, =start
+ adrp x14, start
+ add x14, x14, :lo12:start
mov sp, x14
// Clear BSS.
- ldr x14, =start_of_bss
+ adrp x14, start_of_bss
+ add x14, x14, :lo12:start_of_bss
ldr x15, =size_of_bss_divided_by_8
Lbss_clear_loop:
str xzr, [x14], #8