xref: /openbmc/linux/arch/nios2/kernel/vmlinux.lds.S (revision 0edbfea5)
1/*
2 * Copyright (C) 2009 Thomas Chou <thomas@wytron.com.tw>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 *
17 */
18#include <asm/page.h>
19#include <asm-generic/vmlinux.lds.h>
20#include <asm/cache.h>
21#include <asm/thread_info.h>
22
23OUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2")
24
25OUTPUT_ARCH(nios)
26ENTRY(_start)	/* Defined in head.S */
27
28jiffies = jiffies_64;
29
30SECTIONS
31{
32	. = CONFIG_NIOS2_MEM_BASE | CONFIG_NIOS2_KERNEL_REGION_BASE;
33
34	_text = .;
35	_stext = .;
36	HEAD_TEXT_SECTION
37	.text : {
38		TEXT_TEXT
39		SCHED_TEXT
40		LOCK_TEXT
41		IRQENTRY_TEXT
42		SOFTIRQENTRY_TEXT
43		KPROBES_TEXT
44	} =0
45	_etext = .;
46
47	.got : {
48		*(.got.plt)
49		*(.igot.plt)
50		*(.got)
51		*(.igot)
52	}
53
54	EXCEPTION_TABLE(L1_CACHE_BYTES)
55
56	. = ALIGN(PAGE_SIZE);
57	__init_begin = .;
58	INIT_TEXT_SECTION(PAGE_SIZE)
59	INIT_DATA_SECTION(PAGE_SIZE)
60	PERCPU_SECTION(L1_CACHE_BYTES)
61	__init_end = .;
62
63	_sdata = .;
64	RO_DATA_SECTION(PAGE_SIZE)
65	RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
66	_edata = .;
67
68	BSS_SECTION(0, 0, 0)
69	_end = .;
70
71	STABS_DEBUG
72	DWARF_DEBUG
73	NOTES
74
75	DISCARDS
76}
77