Linux Audio

Check our new training course

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