summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-08-17 09:28:44 -0600
committerTom Rini <trini@konsulko.com>2015-08-17 17:19:18 -0400
commit2212e69bc09ac42593794b030d64415293e141ec (patch)
treed7c1dee76f9d46f3e0e3a4cc80dee21531d2f101
parent58243001a9419d9d1671e32611b7d15f6ed64b3a (diff)
Revert "Align global_data to a 16-byte boundary"
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>
-rw-r--r--common/board_f.c1
-rw-r--r--include/asm-generic/global_data.h3
2 files changed, 1 insertions, 3 deletions
diff --git a/common/board_f.c b/common/board_f.c
index c959774adf..a2be57756a 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -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);
diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
index cc369fcdfb..2155265002 100644
--- a/include/asm-generic/global_data.h
+++ b/include/asm-generic/global_data.h
@@ -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