Hi Jeroen, On 3 June 2014 13:58, Jeroen Hofstee <jer...@myspectrum.nl> wrote: > Hi Simon (this time with reply..) > > On ma, 2014-06-02 at 20:20 -0600, Simon Glass wrote: >> Hi Jeroen, >> >> On 31 May 2014 14:32, Jeroen Hofstee <jer...@myspectrum.nl> wrote: >> > --- >> > arch/arm/include/asm/global_data.h | 17 +++++++++++++++++ >> > 1 file changed, 17 insertions(+) >> > >> > diff --git a/arch/arm/include/asm/global_data.h >> > b/arch/arm/include/asm/global_data.h >> > index 63e4ad5..646d694 100644 >> > --- a/arch/arm/include/asm/global_data.h >> > +++ b/arch/arm/include/asm/global_data.h >> > @@ -44,10 +44,27 @@ struct arch_global_data { >> > >> > #include <asm-generic/global_data.h> >> > >> > +#ifdef __clang__ >> > + >> > +#define DECLARE_GLOBAL_DATA_PTR >> > +#define gd get_gd() >> > + >> > +static __inline volatile gd_t *get_gd(void) >> > +{ >> > + gd_t *gd_ptr; >> > + >> > + __asm__ volatile("mov %0, r9\n" : "=r" (gd_ptr)); >> > + >> > + return gd_ptr; >> > +} >> > + >> > +#else >> > + >> > #ifdef CONFIG_ARM64 >> > #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd >> > asm ("x18") >> > #else >> > #define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd >> > asm ("r9") >> > #endif >> > +#endif >> > >> > #endif /* __ASM_GBL_DATA_H */ >> >> Probably a good idea to copy Albert on these patches. What happens if >> you compile ARM64 with Clang? > > As is it will complain that is has no idea what r9 is. At the moment > clang does not have a -ffixed-x18 so there is no polite way to make it > work. With a slightly hacked llvm it seems promising (it compiles at > least and disassembly seems fine). I have no hardware to test it on > though. It would be nice to know if it actually boots.. > > Perhaps the best thing to do for now is error out and point to the > README explaining why it doesn't work.
You make it no worse by implementing it with a warning comment in the code. You could even use #warning perrhaps. Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot