forked from Minki/linux
c0b4e10144
Add support for detecting a vmlinuz.bin appended dtb and overriding the boot arguments to match the UHI interface. To ensure _edata / __apendend_dtb points to the actual end of the binary, align the data section to 16 bytes instead of the address cursor. Due to ld.script not going through the preprocessor, we can't check for MIPS_ZBOOT_APPENDED_DTB being enabled, so always reserve space for it. It should have no consequences for booting without it enabled except 1 MiB more ram usage during the uncompressing stage. Signed-off-by: Jonas Gorski <jogo@openwrt.org> Cc: linux-mips@linux-mips.org Cc: devicetree@vger.kernel.org Cc: John Crispin <blogic@openwrt.org> Cc: Kevin Cernekee <cernekee@gmail.com> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Markos Chandras <markos.chandras@imgtec.com> Cc: Andrew Bresticker <abrestic@chromium.org> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: Paul Burton <paul.burton@imgtec.com> Cc: James Hartley <James.Hartley@imgtec.com> Patchwork: https://patchwork.linux-mips.org/patch/9741/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
58 lines
902 B
Plaintext
58 lines
902 B
Plaintext
/*
|
|
* ld.script for compressed kernel support of MIPS
|
|
*
|
|
* Copyright (C) 2009 Lemote Inc.
|
|
* Author: Wu Zhangjin <wuzhanjing@gmail.com>
|
|
* Copyright (C) 2010 "Wu Zhangjin" <wuzhanjing@gmail.com>
|
|
*/
|
|
|
|
OUTPUT_ARCH(mips)
|
|
ENTRY(start)
|
|
PHDRS {
|
|
text PT_LOAD FLAGS(7); /* RWX */
|
|
}
|
|
SECTIONS
|
|
{
|
|
/* Text and read-only data */
|
|
/* . = VMLINUZ_LOAD_ADDRESS; */
|
|
.text : {
|
|
*(.text)
|
|
*(.rodata)
|
|
}: text
|
|
/* End of text section */
|
|
|
|
/* Writable data */
|
|
.data : {
|
|
*(.data)
|
|
/* Put the compressed image here */
|
|
__image_begin = .;
|
|
*(.image)
|
|
__image_end = .;
|
|
CONSTRUCTORS
|
|
. = ALIGN(16);
|
|
}
|
|
__appended_dtb = .;
|
|
/* leave space for appended DTB */
|
|
. += 0x100000;
|
|
|
|
_edata = .;
|
|
/* End of data section */
|
|
|
|
/* BSS */
|
|
.bss : {
|
|
*(.bss)
|
|
}
|
|
. = ALIGN(16);
|
|
_end = .;
|
|
|
|
/* Sections to be discarded */
|
|
/DISCARD/ : {
|
|
*(.MIPS.options)
|
|
*(.options)
|
|
*(.pdr)
|
|
*(.reginfo)
|
|
*(.comment)
|
|
*(.note)
|
|
}
|
|
}
|