Revert "Align global_data to a 16-byte boundary"
authorSimon Glass <sjg@chromium.org>
Mon, 17 Aug 2015 15:28:44 +0000 (09:28 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 17 Aug 2015 21:19:18 +0000 (17:19 -0400)
This causes widespread breakage due to the operation of the low-level code
in crt0.S and cro0_64.S for ARM at least.

The fix is not complicated but it seems safer to revert this for now.

This reverts commit 2afddae07523f23f77acd066ad1719f53d289f98.
Signed-off-by: Simon Glass <sjg@chromium.org>
common/board_f.c
include/asm-generic/global_data.h

index c959774adff386ebf2c17d14bbfeee81a286a0ec..a2be57756a1e5c735935aa6df3fb857b7b548f82 100644 (file)
@@ -499,7 +499,6 @@ static int setup_machine(void)
 static int reserve_global_data(void)
 {
        gd->start_addr_sp -= sizeof(gd_t);
-       gd->start_addr_sp &= ~0xf;
        gd->new_gd = (gd_t *)map_sysmem(gd->start_addr_sp, sizeof(gd_t));
        debug("Reserving %zu Bytes for Global Data at: %08lx\n",
                        sizeof(gd_t), gd->start_addr_sp);
index cc369fcdfb9e3c7a628bb53a7a713d0d6a69f832..21552650025a108f4136267e4c63ea01584ea34c 100644 (file)
@@ -99,8 +99,7 @@ typedef struct global_data {
        int pcidelay_done;
 #endif
        struct udevice *cur_serial_dev; /* current serial device */
-       /* arch-specific data */
-       struct arch_global_data arch __attribute__((aligned(16)));
+       struct arch_global_data arch;   /* architecture-specific data */
 } gd_t;
 #endif