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