Re: [U-Boot] U-Boot API example doesn't support 64-bit

Hello again,
can nobody help to solve this problem? Any help would be very appreciated. Thanks.
Sebastian
-----Ursprüngliche Nachricht----- Von: U-Boot u-boot-bounces@lists.denx.de Im Auftrag von Priebe, Sebastian Gesendet: Freitag, 12. April 2019 14:32 An: u-boot@lists.denx.de Betreff: [U-Boot] U-Boot API example doesn't support 64-bit
Hello,
I'd like to use the U-Boot external API with an ARM64 SoC. If I enable CONFIG_API I get the following build error for the API example: examples/api/crt0.S: Assembler messages: examples/api/crt0.S:33: Error: operand 1 should be an integer register -- `ldr ip,=search_hint' examples/api/crt0.S:34: Error: operand 1 should be an integer register -- `str sp,[ip]' examples/api/crt0.S:40: Error: operand 1 should be an integer register -- `ldr ip,=syscall_ptr' examples/api/crt0.S:41: Error: operand 1 should be an integer register -- `ldr pc,[ip]' scripts/Makefile.build:316: recipe for target 'examples/api/crt0.o' failed
For me it seems that the example lacks support for 64-bit.
Can anybody help me to get the example running on 64-bit?
Apparently I have only very litte knowledge of assembler :-(
Best regards
Sebastian Priebe
SII Technologies GmbH
SII Technologies GmbH Geschäftsführer: Robert Bauer Sitz der Gesellschaft: 86167 Augsburg Registergericht: Amtsgericht Augsburg HRB 31802

Hi Sebastian,
I think the honest answer is: Please don't. The U-Boot API is very unmaintained and puts awkward restrictions onto payloads on ARM64 (reserved register for gd).
If you're already on AArch64, just create a UEFI binary (for example via gnuefi[1], or using llvm[2] which can natively emit them) and boot that using bootefi. It should give you at least as much functionality as the U-Boot API, but with the added benefit of being firmware agnostic.
Thanks,
Alex
[1] https://station.eciton.net/fun-and-games-with-gnu-efi.html [2] https://dvdhrm.github.io/2019/01/31/goodbye-gnuefi/
On 15.04.19 11:39, Priebe, Sebastian wrote:
Hello again,
can nobody help to solve this problem? Any help would be very appreciated. Thanks.
Sebastian
-----Ursprüngliche Nachricht----- Von: U-Boot u-boot-bounces@lists.denx.de Im Auftrag von Priebe, Sebastian Gesendet: Freitag, 12. April 2019 14:32 An: u-boot@lists.denx.de Betreff: [U-Boot] U-Boot API example doesn't support 64-bit
Hello,
I'd like to use the U-Boot external API with an ARM64 SoC. If I enable CONFIG_API I get the following build error for the API example: examples/api/crt0.S: Assembler messages: examples/api/crt0.S:33: Error: operand 1 should be an integer register -- `ldr ip,=search_hint' examples/api/crt0.S:34: Error: operand 1 should be an integer register -- `str sp,[ip]' examples/api/crt0.S:40: Error: operand 1 should be an integer register -- `ldr ip,=syscall_ptr' examples/api/crt0.S:41: Error: operand 1 should be an integer register -- `ldr pc,[ip]' scripts/Makefile.build:316: recipe for target 'examples/api/crt0.o' failed
For me it seems that the example lacks support for 64-bit.
Can anybody help me to get the example running on 64-bit?
Apparently I have only very litte knowledge of assembler :-(
Best regards
Sebastian Priebe
SII Technologies GmbH
SII Technologies GmbH Geschäftsführer: Robert Bauer Sitz der Gesellschaft: 86167 Augsburg Registergericht: Amtsgericht Augsburg HRB 31802 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
participants (2)
-
Alexander Graf
-
Priebe, Sebastian