X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=arch%2Farm%2Flib%2Fspl.c;h=d737a5cce83dcc867a30a6487206e8ed7402e858;hb=e6ac28b60be2d670948332197862e314b7977177;hp=26d0be47e59766a0dd8f55d65addabb1ce64d012;hpb=6d4511b2c6734842de9de21c1bc0db4c3ea28b72;p=u-boot diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c index 26d0be47e5..d737a5cce8 100644 --- a/arch/arm/lib/spl.c +++ b/arch/arm/lib/spl.c @@ -13,9 +13,16 @@ #include #include +#ifndef CONFIG_SPL_DM /* Pointer to as well as the global data structure for SPL */ DECLARE_GLOBAL_DATA_PTR; + +/* + * WARNING: This is going away very soon. Don't use it and don't submit + * pafches that rely on it. The global_data area is set up in crt0.S. + */ gd_t gdata __attribute__ ((section(".data"))); +#endif /* * In the context of SPL, board_init_f must ensure that any clocks/etc for @@ -25,14 +32,13 @@ gd_t gdata __attribute__ ((section(".data"))); */ void __weak board_init_f(ulong dummy) { - /* Set the stack pointer. */ - asm volatile("mov sp, %0\n" : : "r"(CONFIG_SPL_STACK)); - /* Clear the BSS. */ memset(__bss_start, 0, __bss_end - __bss_start); - /* Set global data pointer. */ +#ifndef CONFIG_SPL_DM + /* TODO: Remove settings of the global data pointer here */ gd = &gdata; +#endif board_init_r(NULL, 0); }