// SPDX-License-Identifier: GPL-2.0 // Copyright (C) 2005-2017 Andes Technology Corporation #include #include #include #include #define LOAD_OFFSET (PAGE_OFFSET - PHYS_OFFSET) #include OUTPUT_ARCH(nds32) ENTRY(_stext_lma) jiffies = jiffies_64; #if defined(CONFIG_GCOV_KERNEL) #define NDS32_EXIT_KEEP(x) x #else #define NDS32_EXIT_KEEP(x) #endif SECTIONS { _stext_lma = TEXTADDR - LOAD_OFFSET; . = TEXTADDR; __init_begin = .; HEAD_TEXT_SECTION .exit.text : { NDS32_EXIT_KEEP(EXIT_TEXT) } INIT_TEXT_SECTION(PAGE_SIZE) INIT_DATA_SECTION(16) .exit.data : { NDS32_EXIT_KEEP(EXIT_DATA) } PERCPU_SECTION(L1_CACHE_BYTES) __init_end = .; . = ALIGN(PAGE_SIZE); _stext = .; /* Real text segment */ .text : AT(ADDR(.text) - LOAD_OFFSET) { _text = .; /* Text and read-only data */ TEXT_TEXT SCHED_TEXT CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT *(.fixup) } _etext = .; /* End of text and rodata section */ _sdata = .; RO_DATA_SECTION(PAGE_SIZE) RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) _edata = .; EXCEPTION_TABLE(16) BSS_SECTION(4, 4, 4) _end = .; STABS_DEBUG DWARF_DEBUG DISCARDS }