@@ -15,6 +15,7 @@ OUTPUT_ARCH(aarch64)
ENTRY(_start)
SECTIONS
{
+ . = ALIGN(65536);
#ifdef CONFIG_ARMV8_SECURE_BASE
/DISCARD/ : { *(.rela._secure*) }
#endif
@@ -36,6 +37,7 @@ SECTIONS
__efi_runtime_stop = .;
}
+ . = ALIGN(65536);
.text_rest :
{
*(.text*)
@@ -438,7 +438,8 @@ static int reserve_uboot(void)
*/
gd->relocaddr -= gd->mon_len;
gd->relocaddr &= ~(4096 - 1);
- #if defined(CONFIG_E500) || defined(CONFIG_MIPS)
+ #if defined(CONFIG_E500) || defined(CONFIG_MIPS) || \
+ (defined(CONFIG_ARM64) && defined(CONFIG_EFI_LOADER))
/* round down to next 64 kB limit so that IVPR stays
aligned */
gd->relocaddr &= ~(65536 - 1);