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

Tom Rini trini at ti.com
Tue Nov 19 21:07:27 CET 2013


On Tue, Nov 19, 2013 at 10:09:44AM +0100, Michal Simek wrote:
> 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

Let's get Albert on CC here, since, yeah, this is a problem...

> 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
> 
> 



> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot


-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20131119/1b89455f/attachment.pgp>


More information about the U-Boot mailing list