[U-Boot] arm: U-Boot API - clang support broke ABI

Michal Simek monstr at monstr.eu
Tue Nov 19 10:09:44 CET 2013


Hi Albert,

I have just bisect why on the latest kernel hello world example doesn't work
and I have end up in this patch too. After reverting hello world example
is working.

Also I would like to know if we have still bootm support for standlone
http://www.denx.de/wiki/view/DULG/UBootStandalone#Section_5.12.3.
Because it is not working for me with error
"ERROR: booting os 'U-Boot' (17) is not supported"
and I can't see IH_OS_U_BOOT in boot_os table in cmd_bootm.c

I have created image like this.
./tools/mkimage -n "hello" -A arm -O u-boot -T standalone -C none -a c100000 -d examples/standalone/hello_world.bin -v /tftpboot/hello.ub

Thanks,
Michal

On 11/18/2013 12:26 PM, Leif Lindholm wrote:
> Hi,
> 
> Commit fe1378a - "ARM: use r9 for gd" - broke the ABI for users of the
> U-Boot API on ARM. Users I am aware of are GRUB and the FreeBSD loader.
> Since I only spotted this on Saturday, this code is well and truly in
> the wild, so any users of the API will need to preserve both r8 and r9
> on syscalls for the foreseeable future (which is not the end of the
> world).
> 
> Sometime last year I proposed a change to make the API syscall entry
> and exit points responsible for maintaining full procedure-call standard
> compliance, although the patch I provided was on the hackier side of
> good (and probably wrong).
> 
> I would now like to ask in a more open-ended way - is there any chance
> that we could solve this in a generic way, such that consumers of the
> API need not be aware of U-Boot internal ABI changes?
> 
> If the assumtions that the global data pointer is:
> a) a pointer
> b) writable
> are not both safe, then this could be achieved by arch-specific asm
> entry/exit points.
> 
> /
>     Leif
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
> 


-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20131119/7922c078/attachment.pgp>


More information about the U-Boot mailing list