[U-Boot] [PATCH v2 2/5] Align global_data to a 16-byte boundary
Simon Glass
sjg at chromium.org
Wed Aug 12 05:55:15 CEST 2015
On 11 August 2015 at 00:28, Bin Meng <bmeng.cn at gmail.com> wrote:
> On Tue, Aug 11, 2015 at 10:44 AM, Simon Glass <sjg at chromium.org> wrote:
>> Some archs like to have larger alignment for their global data. Use 16 bytes
>> which suits all current archs.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>> Changes in v2:
>> - Correct logic to round down instead of up
>>
>> common/board_f.c | 1 +
>> include/asm-generic/global_data.h | 2 +-
>> 2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/common/board_f.c b/common/board_f.c
>> index 8cca4de..74f77f1 100644
>> --- a/common/board_f.c
>> +++ b/common/board_f.c
>> @@ -499,6 +499,7 @@ 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 2155265..147f646 100644
>> --- a/include/asm-generic/global_data.h
>> +++ b/include/asm-generic/global_data.h
>> @@ -99,7 +99,7 @@ typedef struct global_data {
>> int pcidelay_done;
>> #endif
>> struct udevice *cur_serial_dev; /* current serial device */
>> - struct arch_global_data arch; /* architecture-specific data */
>> + struct arch_global_data arch __aligned(16); /* arch-specific data */
>> } gd_t;
>> #endif
>>
>> --
>
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
Applied to u-boot-x86
More information about the U-Boot
mailing list