On Tue, Mar 12, 2019 at 07:59:40PM +0100, Eugeniu Rosca wrote:
> Hi Marek,
> 
> On Tue, Mar 5, 2019 at 4:41 AM Marek Vasut <marek.va...@gmail.com> wrote:
> [..]
> > +.align 8
> > +.globl rcar_atf_boot_args
> > +rcar_atf_boot_args:
> > +       .dword 0
> > +       .dword 0
> > +       .dword 0
> > +       .dword 0
> > +
> > +ENTRY(save_boot_params)
> > +       adr     x8, rcar_atf_boot_args
> > +       stp     x0, x1, [x8], #16
> > +       stp     x2, x3, [x8], #16
> > +       b       save_boot_params_ret
> > +ENDPROC(save_boot_params)
> 
> What about relocating the function to C like in [1] and passing the 4
> arguments to it from ASM like in [2]?
> This would allow to:
>  - reduce asm operations to minimum (mov and bl) and make code transparent.
>  - avoid custom globals and store the ATF information in some C-defined 
> struct.
> 
> [1] 
> https://github.com/ARM-software/arm-trusted-firmware/blob/c48d02bade88b07fa7f43aa44e5217f68e5d047f/bl1/bl1_main.c#L263
> [2] 
> https://github.com/ARM-software/arm-trusted-firmware/blob/c48d02bade88b07fa7f43aa44e5217f68e5d047f/bl1/aarch32/bl1_exceptions.S#L133

This is super early in the boot process and I'm really not a fan in
general of writing and calling C before we have things setup for C calls
to actually work normally, even more so for small things that can be
commented to be obvious as to what's going on.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to