From: Brunham, Kalen Date: Fri, 17 May 2024 19:13:48 +0000 (+0000) Subject: Added arm64 assembly for examples/api crt0 X-Git-Url: http://git.dujemihanovic.xyz/%22http:/www.sics.se/static/%7B%7B%20.Permalink%20%7D%7D?a=commitdiff_plain;h=f9886bc60f42d5bcfcfa4e474af7dc230400b6be;p=u-boot.git Added arm64 assembly for examples/api crt0 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. Signed-off-by: Kalen Brunham --- diff --git a/examples/api/crt0.S b/examples/api/crt0.S index 57bba9d851..06f6d1f9ad 100644 --- a/examples/api/crt0.S +++ b/examples/api/crt0.S @@ -33,6 +33,21 @@ _start: str sp, [ip] b main +#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] + .globl syscall syscall: