|
@@ -217,6 +217,9 @@ void start_armboot (void)
|
|
|
|
|
|
/* Pointer is writable since we allocated a register for it */
|
|
|
gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN - sizeof(gd_t));
|
|
|
+ /* compiler optimization barrier needed for GCC >= 3.4 */
|
|
|
+ __asm__ __volatile__("": : :"memory");
|
|
|
+
|
|
|
memset ((void*)gd, 0, sizeof (gd_t));
|
|
|
gd->bd = (bd_t*)((char*)gd - sizeof(bd_t));
|
|
|
memset (gd->bd, 0, sizeof (bd_t));
|