diff options
Diffstat (limited to 'arch/arm64/kernel/vmlinux.lds.S')
| -rw-r--r-- | arch/arm64/kernel/vmlinux.lds.S | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S index f1e6d5c032e1..97f0c0429dfa 100644 --- a/arch/arm64/kernel/vmlinux.lds.S +++ b/arch/arm64/kernel/vmlinux.lds.S @@ -9,6 +9,8 @@  #include <asm/memory.h>  #include <asm/page.h> +#include "image.h" +  #define ARM_EXIT_KEEP(x)  #define ARM_EXIT_DISCARD(x)	x @@ -104,9 +106,18 @@ SECTIONS  	_edata = .;  	BSS_SECTION(0, 0, 0) + +	. = ALIGN(PAGE_SIZE); +	idmap_pg_dir = .; +	. += IDMAP_DIR_SIZE; +	swapper_pg_dir = .; +	. += SWAPPER_DIR_SIZE; +  	_end = .;  	STABS_DEBUG + +	HEAD_SYMBOLS  }  /* @@ -114,3 +125,8 @@ SECTIONS   */  ASSERT(((__hyp_idmap_text_start + PAGE_SIZE) > __hyp_idmap_text_end),         "HYP init code too big") + +/* + * If padding is applied before .head.text, virt<->phys conversions will fail. + */ +ASSERT(_text == (PAGE_OFFSET + TEXT_OFFSET), "HEAD is misaligned")  | 
