diff options
author | Brunham, Kalen <kalen.brunham@intel.com> | 2024-05-17 19:13:48 +0000 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-06-07 16:23:05 -0600 |
commit | f9886bc60f42d5bcfcfa4e474af7dc230400b6be (patch) | |
tree | 09cbbae62f0e9c1130821da66e95c1bf1b469827 /examples | |
parent | 17b1656dcd07136d83082b23118c20b2042d73e0 (diff) | |
download | u-boot-f9886bc60f42d5bcfcfa4e474af7dc230400b6be.zip u-boot-f9886bc60f42d5bcfcfa4e474af7dc230400b6be.tar.gz u-boot-f9886bc60f42d5bcfcfa4e474af7dc230400b6be.tar.bz2 |
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 <kalen.brunham@intel.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/api/crt0.S | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/examples/api/crt0.S b/examples/api/crt0.S index 57bba9d..06f6d1f 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: |