1/* Based on linux/include/asm-generic/vmlinux.lds.h and 2 * linux/arch/x86/kernel/vmlinux.lds.S */ 3 4#define MEM_DISCARD(sec) *(.mem##sec) 5 6#define INIT_TEXT(X,A) \ 7 *A \ 8 *X \ 9 MEM_DISCARD(init.text*) 10 11#define INIT_TEXT_SECTION(inittext_align,Y,B) \ 12 . = ALIGN(inittext_align); \ 13 .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) { \ 14 _sinittext = .; \ 15 INIT_TEXT(Y,B) \ 16 _einittext = .; \ 17 } 18 19 20SECTIONS 21{ 22 INIT_TEXT_SECTION(PAGE_SIZE,(.text.startup),(.init.text .init.text.*)) 23#ifdef CONFIG_X86_64 24 :init 25#endif 26} 27 28