[U-Boot] [PATCH] 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 ---
common/board_f.c | 1 - include/asm-generic/global_data.h | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/common/board_f.c b/common/board_f.c index c959774..a2be577 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 cc369fc..2155265 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

On Mon, Aug 17, 2015 at 09:28:44AM -0600, Simon Glass wrote:
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
Applied to u-boot/master, thanks!

On Tue, Aug 18, 2015 at 3:53 AM, Tom Rini trini@konsulko.com wrote:
On Mon, Aug 17, 2015 at 09:28:44AM -0600, Simon Glass wrote:
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.
Might it be useful to align gd on the cache line boundary?
This reverts commit 2afddae07523f23f77acd066ad1719f53d289f98. Signed-off-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!
-- Tom
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Hi Sergei,
On 18 August 2015 at 02:49, Sergei Temerkhanov s.temerkhanov@gmail.com wrote:
On Tue, Aug 18, 2015 at 3:53 AM, Tom Rini trini@konsulko.com wrote:
On Mon, Aug 17, 2015 at 09:28:44AM -0600, Simon Glass wrote:
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.
Might it be useful to align gd on the cache line boundary?
We could - I'm not sure how that would help?
This reverts commit 2afddae07523f23f77acd066ad1719f53d289f98. Signed-off-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!
Regards, Simon
participants (3)
-
Sergei Temerkhanov
-
Simon Glass
-
Tom Rini