diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2017-09-21 19:10:19 +0200 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2017-10-03 14:27:07 +0200 |
commit | c772568788b5f0cbaac7c8d4111d7173bfc90673 (patch) | |
tree | 9a30642f4c00a4f6809cfbc6b5bac68764327485 /arch/arm/boot/compressed/vmlinux.lds.S | |
parent | ARM: decompressor: fix BSS size calculation (diff) | |
download | linux-c772568788b5f0cbaac7c8d4111d7173bfc90673.tar.xz linux-c772568788b5f0cbaac7c8d4111d7173bfc90673.zip |
ARM: add additional table to compressed kernel
Add an additional extendable table to the compressed kernel so that we
can provide further information to boot loaders regarding the properties
of the image contained within.
This is necessary for correct behaviour of kexec.
Tested-by: Tony Lindgren <tony@atomide.com>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/boot/compressed/vmlinux.lds.S')
-rw-r--r-- | arch/arm/boot/compressed/vmlinux.lds.S | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/boot/compressed/vmlinux.lds.S b/arch/arm/boot/compressed/vmlinux.lds.S index 7a4c59154361..b38dcef90756 100644 --- a/arch/arm/boot/compressed/vmlinux.lds.S +++ b/arch/arm/boot/compressed/vmlinux.lds.S @@ -44,12 +44,22 @@ SECTIONS *(.glue_7t) *(.glue_7) } + .table : ALIGN(4) { + _table_start = .; + LONG(ZIMAGE_MAGIC(2)) + LONG(ZIMAGE_MAGIC(0x5a534c4b)) + LONG(ZIMAGE_MAGIC(__piggy_size_addr - _start)) + LONG(ZIMAGE_MAGIC(_kernel_bss_size)) + LONG(0) + _table_end = .; + } .rodata : { *(.rodata) *(.rodata.*) } .piggydata : { *(.piggydata) + __piggy_size_addr = . - 4; } . = ALIGN(4); @@ -88,6 +98,7 @@ SECTIONS _magic_sig = ZIMAGE_MAGIC(0x016f2818); _magic_start = ZIMAGE_MAGIC(_start); _magic_end = ZIMAGE_MAGIC(_edata); + _magic_table = ZIMAGE_MAGIC(_table_start - _start); . = BSS_START; __bss_start = .; |