[PATCH 1/1] Added arm64 assembly for examples/api crt0
Brunham, Kalen
kalen.brunham at intel.com
Fri May 17 21:13:48 CEST 2024
I've encountered a problem when compiling the 'examples/api' directory for ARM64 in U-boot. The problem lies in the assembly code in 'examples/api/crt0.S' where the current CONFIG_ARM code is only 32-bit. When targeting ARM64, a 64-bit version is necessary.
I have proposed a fix by including a 'CONFIG_ARM64' section in the assembly code as shown below. These changes have been check via https://github.com/u-boot/u-boot/pull/538.
Feedback is welcome.
---
examples/api/crt0.S | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/examples/api/crt0.S b/examples/api/crt0.S
index 57bba9d851..4c23a54b21 100644
--- a/examples/api/crt0.S
+++ b/examples/api/crt0.S
@@ -24,6 +24,21 @@ syscall:
mtctr %r11
bctr
+#elif defined(CONFIG_ARM64)
+
+ .text
+ .globl _start
+_start:
+ ldr ip0, =search_hint
+ str sp_el2, [ip0]
+ b main
+
+
+ .globl syscall
+syscall:
+ ldr ip0, =syscall_ptr
+ ldr pc_el2, [ip0]
+
#elif defined(CONFIG_ARM)
.text
--
Signed-off-by: Kalen Brunham <kalen.brunham at intel.com>
More information about the U-Boot
mailing list