From dff57654078c22c942bc10f41bb1e37b0c4e93a2 Mon Sep 17 00:00:00 2001 From: wires Date: Sat, 19 Apr 2025 14:17:07 -0400 Subject: [PATCH] don't touch registers used by calling convention --- src/startup.s | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/startup.s b/src/startup.s index e0c6385..42147d2 100644 --- a/src/startup.s +++ b/src/startup.s @@ -2,25 +2,25 @@ .global _start _start: - mrs x1, MPIDR_EL1 - and x1, x1, 0b11 + mrs x4, MPIDR_EL1 + and x4, x1, 0b11 - cbz x1, init + cbz x4, init halt: wfe b halt init: - adr x1, __stack_base - mov sp, x1 + adr x4, __stack_base + mov sp, x4 - adr x1, __bss_start - adr x2, __bss_size - cbz x2, exec_kernel + adr x4, __bss_start + adr x5, __bss_size + cbz x5, exec_kernel clear_bss: - str xzr, [x1], 8 - sub x2, x2, 1 + str xzr, [x4], 8 + sub x5, x2, 1 cbnz w2, clear_bss exec_kernel: