Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  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	_start = .;
 26	HEAD_TEXT_SECTION
 27	. = ALIGN(PAGE_SIZE);
 28
 29	.text : AT(ADDR(.text) - LOAD_OFFSET) {
 30		_text = .;
 31		_stext = .;
 32		VBR_BASE
 33		IRQENTRY_TEXT
 34		SOFTIRQENTRY_TEXT
 35		TEXT_TEXT
 36		SCHED_TEXT
 37		CPUIDLE_TEXT
 38		LOCK_TEXT
 39		KPROBES_TEXT
 40		*(.fixup)
 41		*(.gnu.warning)
 42	} = 0
 43	_etext = .;
 44
 45	/* __init_begin __init_end must be page aligned for free_initmem */
 46	. = ALIGN(PAGE_SIZE);
 47	__init_begin = .;
 48	INIT_TEXT_SECTION(PAGE_SIZE)
 49	INIT_DATA_SECTION(PAGE_SIZE)
 50	PERCPU_SECTION(L1_CACHE_BYTES)
 51	. = ALIGN(PAGE_SIZE);
 52	__init_end = .;
 53
 54	_sdata = .;
 55	RO_DATA(PAGE_SIZE)
 56	RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
 57	_edata = .;
 58
 59#ifdef CONFIG_HAVE_TCM
 60	.tcm_start : {
 61		. = ALIGN(PAGE_SIZE);
 62		__tcm_start = .;
 63	}
 64
 65	.text_data_tcm FIXADDR_TCM : AT(__tcm_start)
 66	{
 67		. = ALIGN(4);
 68		__stcm_text_data = .;
 69		*(.tcm.text)
 70		*(.tcm.rodata)
 71#ifndef CONFIG_HAVE_DTCM
 72		*(.tcm.data)
 73#endif
 74		. = ALIGN(4);
 75		__etcm_text_data = .;
 76	}
 77
 78	. = ADDR(.tcm_start) + SIZEOF(.tcm_start) + SIZEOF(.text_data_tcm);
 79
 80#ifdef CONFIG_HAVE_DTCM
 81	#define ITCM_SIZE	CONFIG_ITCM_NR_PAGES * PAGE_SIZE
 82
 83	.dtcm_start : {
 84		__dtcm_start = .;
 85	}
 86
 87	.data_tcm FIXADDR_TCM + ITCM_SIZE : AT(__dtcm_start)
 88	{
 89		. = ALIGN(4);
 90		__stcm_data = .;
 91		*(.tcm.data)
 92		. = ALIGN(4);
 93		__etcm_data = .;
 94	}
 95
 96	. = ADDR(.dtcm_start) + SIZEOF(.data_tcm);
 97
 98	.tcm_end : AT(ADDR(.dtcm_start) + SIZEOF(.data_tcm)) {
 99#else
100	.tcm_end : AT(ADDR(.tcm_start) + SIZEOF(.text_data_tcm)) {
101#endif
102		. = ALIGN(PAGE_SIZE);
103		__tcm_end = .;
104	}
105#endif
106
107	EXCEPTION_TABLE(L1_CACHE_BYTES)
108	BSS_SECTION(L1_CACHE_BYTES, PAGE_SIZE, L1_CACHE_BYTES)
109	_end = . ;
110
111	STABS_DEBUG
112	DWARF_DEBUG
113	ELF_DETAILS
114
115	DISCARDS
116}