^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) // SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) // Copyright (C) 2005-2017 Andes Technology Corporation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #include <asm/page.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <asm/thread_info.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #include <asm/cache.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #include <asm/memory.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define LOAD_OFFSET (PAGE_OFFSET - PHYS_OFFSET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #include <asm-generic/vmlinux.lds.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) OUTPUT_ARCH(nds32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) ENTRY(_stext_lma)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) jiffies = jiffies_64;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #if defined(CONFIG_GCOV_KERNEL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define NDS32_EXIT_KEEP(x) x
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define NDS32_EXIT_KEEP(x)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) SECTIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) _stext_lma = TEXTADDR - LOAD_OFFSET;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) . = TEXTADDR;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) __init_begin = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) HEAD_TEXT_SECTION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) .exit.text : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) NDS32_EXIT_KEEP(EXIT_TEXT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) INIT_TEXT_SECTION(PAGE_SIZE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) INIT_DATA_SECTION(16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) .exit.data : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) NDS32_EXIT_KEEP(EXIT_DATA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) PERCPU_SECTION(L1_CACHE_BYTES)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) __init_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) . = ALIGN(PAGE_SIZE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) _stext = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) /* Real text segment */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) .text : AT(ADDR(.text) - LOAD_OFFSET) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) _text = .; /* Text and read-only data */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) TEXT_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) SCHED_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) CPUIDLE_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) LOCK_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) KPROBES_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) IRQENTRY_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) SOFTIRQENTRY_TEXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) *(.fixup)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) _etext = .; /* End of text and rodata section */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) _sdata = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) RO_DATA(PAGE_SIZE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) _edata = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) EXCEPTION_TABLE(16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) BSS_SECTION(4, 4, 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) _end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) STABS_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) DWARF_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) ELF_DETAILS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) DISCARDS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) }