Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | /* SPDX-License-Identifier: GPL-2.0 */ #include <asm/vmlinux.lds.h> #include <asm/page.h> #include <asm/memory.h> OUTPUT_ARCH(csky) ENTRY(_start) #ifndef __cskyBE__ jiffies = jiffies_64; #else jiffies = jiffies_64 + 4; #endif #define VBR_BASE \ . = ALIGN(1024); \ vec_base = .; \ . += 512; SECTIONS { . = PAGE_OFFSET + PHYS_OFFSET_OFFSET; _start = .; HEAD_TEXT_SECTION . = ALIGN(PAGE_SIZE); .text : AT(ADDR(.text) - LOAD_OFFSET) { _text = .; _stext = .; VBR_BASE IRQENTRY_TEXT SOFTIRQENTRY_TEXT TEXT_TEXT SCHED_TEXT LOCK_TEXT KPROBES_TEXT *(.fixup) *(.gnu.warning) } = 0 _etext = .; /* __init_begin __init_end must be page aligned for free_initmem */ . = ALIGN(PAGE_SIZE); __init_begin = .; INIT_TEXT_SECTION(PAGE_SIZE) INIT_DATA_SECTION(PAGE_SIZE) PERCPU_SECTION(L1_CACHE_BYTES) . = ALIGN(PAGE_SIZE); __init_end = .; _sdata = .; RO_DATA(PAGE_SIZE) RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) _edata = .; #ifdef CONFIG_HAVE_TCM .tcm_start : { . = ALIGN(PAGE_SIZE); __tcm_start = .; } .text_data_tcm FIXADDR_TCM : AT(__tcm_start) { . = ALIGN(4); __stcm_text_data = .; *(.tcm.text) *(.tcm.rodata) #ifndef CONFIG_HAVE_DTCM *(.tcm.data) #endif . = ALIGN(4); __etcm_text_data = .; } . = ADDR(.tcm_start) + SIZEOF(.tcm_start) + SIZEOF(.text_data_tcm); #ifdef CONFIG_HAVE_DTCM #define ITCM_SIZE CONFIG_ITCM_NR_PAGES * PAGE_SIZE .dtcm_start : { __dtcm_start = .; } .data_tcm FIXADDR_TCM + ITCM_SIZE : AT(__dtcm_start) { . = ALIGN(4); __stcm_data = .; *(.tcm.data) . = ALIGN(4); __etcm_data = .; } . = ADDR(.dtcm_start) + SIZEOF(.data_tcm); .tcm_end : AT(ADDR(.dtcm_start) + SIZEOF(.data_tcm)) { #else .tcm_end : AT(ADDR(.tcm_start) + SIZEOF(.text_data_tcm)) { #endif . = ALIGN(PAGE_SIZE); __tcm_end = .; } #endif EXCEPTION_TABLE(L1_CACHE_BYTES) BSS_SECTION(L1_CACHE_BYTES, PAGE_SIZE, L1_CACHE_BYTES) _end = . ; STABS_DEBUG DWARF_DEBUG ELF_DETAILS DISCARDS } |