1#include <asm-generic/vmlinux.lds.h> 2#include <asm/page.h> 3#include <asm/thread_info.h> 4 5#define ROMTOP 0x000000 6#define RAMTOP 0x400000 7 8jiffies = jiffies_64 + 4; 9 10ENTRY(_start) 11 12SECTIONS 13{ 14#if defined(CONFIG_ROMKERNEL) 15 . = ROMTOP; 16 .vectors : 17 { 18 _vector = . ; 19 *(.vector*) 20 } 21#else 22 . = RAMTOP; 23 _ramstart = .; 24 . = . + CONFIG_OFFSET; 25#endif 26 _text = .; 27 HEAD_TEXT_SECTION 28 .text : { 29 _stext = . ; 30 TEXT_TEXT 31 SCHED_TEXT 32 CPUIDLE_TEXT 33 LOCK_TEXT 34#if defined(CONFIG_ROMKERNEL) 35 *(.int_redirect) 36#endif 37 _etext = . ; 38 } 39 EXCEPTION_TABLE(16) 40 NOTES 41 RO_DATA_SECTION(4) 42 ROMEND = .; 43#if defined(CONFIG_ROMKERNEL) 44 . = RAMTOP; 45 _ramstart = .; 46#define ADDR(x) ROMEND 47#endif 48 _sdata = . ; 49 __data_start = . ; 50 RW_DATA_SECTION(0, PAGE_SIZE, THREAD_SIZE) 51#if defined(CONFIG_ROMKERNEL) 52#undef ADDR 53#endif 54 . = ALIGN(0x4) ; 55 __init_begin = .; 56 INIT_TEXT_SECTION(4) 57 INIT_DATA_SECTION(4) 58 SECURITY_INIT 59 __init_end = .; 60 _edata = . ; 61 _begin_data = LOADADDR(.data); 62 _sbss =.; 63 BSS_SECTION(0, 0 ,0) 64 _ebss =.; 65 _ramend = .; 66 _end = .; 67 DISCARDS 68} 69