1/* SPDX-License-Identifier: GPL-2.0 */ 2 3#include <asm/vmlinux.lds.h> 4#include <asm/page.h> 5 6OUTPUT_ARCH(csky) 7ENTRY(_start) 8 9#ifndef __cskyBE__ 10jiffies = jiffies_64; 11#else 12jiffies = jiffies_64 + 4; 13#endif 14 15#define VBR_BASE \ 16 . = ALIGN(1024); \ 17 vec_base = .; \ 18 . += 512; 19 20SECTIONS 21{ 22 . = PAGE_OFFSET + PHYS_OFFSET_OFFSET; 23 24 _stext = .; 25 __init_begin = .; 26 HEAD_TEXT_SECTION 27 INIT_TEXT_SECTION(PAGE_SIZE) 28 INIT_DATA_SECTION(PAGE_SIZE) 29 PERCPU_SECTION(L1_CACHE_BYTES) 30 . = ALIGN(PAGE_SIZE); 31 __init_end = .; 32 33 .text : AT(ADDR(.text) - LOAD_OFFSET) { 34 _text = .; 35 IRQENTRY_TEXT 36 SOFTIRQENTRY_TEXT 37 TEXT_TEXT 38 SCHED_TEXT 39 CPUIDLE_TEXT 40 LOCK_TEXT 41 KPROBES_TEXT 42 *(.fixup) 43 *(.gnu.warning) 44 } = 0 45 _etext = .; 46 47 /* __init_begin __init_end must be page aligned for free_initmem */ 48 . = ALIGN(PAGE_SIZE); 49 50 51 _sdata = .; 52 RO_DATA(PAGE_SIZE) 53 RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) 54 _edata = .; 55 56 EXCEPTION_TABLE(L1_CACHE_BYTES) 57 BSS_SECTION(L1_CACHE_BYTES, PAGE_SIZE, L1_CACHE_BYTES) 58 VBR_BASE 59 _end = . ; 60 61 STABS_DEBUG 62 DWARF_DEBUG 63 64 DISCARDS 65} 66