blob: 6406c388f88aec3a1471ac2428544ac8cd52b57b [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#define VMLINUX_SYMBOL(_sym_) _##_sym_
2#include <asm-generic/vmlinux.lds.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
4/* target memory map */
5#ifdef CONFIG_H8300H_GENERIC
6#define ROMTOP 0x000000
7#define ROMSIZE 0x400000
8#define RAMTOP 0x400000
9#define RAMSIZE 0x400000
10#endif
11
12#ifdef CONFIG_H8300H_AKI3068NET
13#define ROMTOP 0x000000
14#define ROMSIZE 0x080000
15#define RAMTOP 0x400000
16#define RAMSIZE 0x200000
17#endif
18
19#ifdef CONFIG_H8300H_H8MAX
20#define ROMTOP 0x000000
21#define ROMSIZE 0x080000
22#define RAMTOP 0x400000
23#define RAMSIZE 0x200000
24#endif
25
26#ifdef CONFIG_H8300H_SIM
27#define ROMTOP 0x000000
28#define ROMSIZE 0x400000
29#define RAMTOP 0x400000
30#define RAMSIZE 0x400000
31#endif
32
33#ifdef CONFIG_H8S_SIM
34#define ROMTOP 0x000000
35#define ROMSIZE 0x400000
36#define RAMTOP 0x400000
37#define RAMSIZE 0x800000
38#endif
39
40#ifdef CONFIG_H8S_EDOSK2674
41#define ROMTOP 0x000000
42#define ROMSIZE 0x400000
43#define RAMTOP 0x400000
44#define RAMSIZE 0x800000
45#endif
46
47#if defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM)
48INPUT(romfs.o)
49#endif
50
51_jiffies = _jiffies_64 + 4;
52
53ENTRY(__start)
54
55SECTIONS
56{
57#if defined(CONFIG_ROMKERNEL)
58 . = ROMTOP;
59 .vectors :
60 {
61 __vector = . ;
62 *(.vectors*)
63 }
64#else
65 . = RAMTOP;
66 .bootvec :
67 {
68 *(.bootvec)
69 }
70#endif
71 .text :
72 {
73#if defined(CONFIG_ROMKERNEL)
74 *(.int_redirect)
75#endif
76 __stext = . ;
77 *(.text)
78 SCHED_TEXT
79 LOCK_TEXT
80 __etext = . ;
81 . = ALIGN(16); /* Exception table */
82 ___start___ex_table = .;
83 *(__ex_table)
84 ___stop___ex_table = .;
85 }
86
87 RODATA
88#if defined(CONFIG_ROMKERNEL)
89 SECURITY_INIT
90#endif
91 ROEND = .;
92#if defined(CONFIG_ROMKERNEL)
93 . = RAMTOP;
94 .data : AT(ROEND)
95#else
96 .data :
97#endif
98 {
99 __sdata = . ;
100 ___data_start = . ;
101
102 . = ALIGN(0x2000) ;
103 *(.data.init_task)
104 . = ALIGN(0x4) ;
105 *(.data)
106 . = ALIGN(0x4) ;
107 *(.data.*)
108
109 . = ALIGN(0x4) ;
110 ___init_begin = .;
111 __sinittext = .;
112 *(.init.text)
113 __einittext = .;
114 *(.init.data)
115 . = ALIGN(0x4) ;
116 ___setup_start = .;
117 *(.init.setup)
118 . = ALIGN(0x4) ;
119 ___setup_end = .;
120 ___initcall_start = .;
121 *(.initcall1.init)
122 *(.initcall2.init)
123 *(.initcall3.init)
124 *(.initcall4.init)
125 *(.initcall5.init)
126 *(.initcall6.init)
127 *(.initcall7.init)
128 ___initcall_end = .;
129 ___con_initcall_start = .;
130 *(.con_initcall.init)
131 ___con_initcall_end = .;
132 *(.exit.text)
133 *(.exit.data)
134 . = ALIGN(4);
135 ___initramfs_start = .;
136 *(.init.ramfs)
137 ___initramfs_end = .;
138 . = ALIGN(0x4) ;
139 ___init_end = .;
140 __edata = . ;
141 }
142#if defined(CONFIG_RAMKERNEL)
143 SECURITY_INIT
144#endif
145 __begin_data = LOADADDR(.data);
146 .bss :
147 {
148 . = ALIGN(0x4) ;
149 __sbss = . ;
150 *(.bss*)
151 . = ALIGN(0x4) ;
152 *(COMMON)
153 . = ALIGN(0x4) ;
154 __ebss = . ;
155 __end = . ;
156 __ramstart = .;
157 }
158 /DISCARD/ : {
159 *(.exitcall.exit)
160 }
161 .romfs :
162 {
163 *(.romfs*)
164 }
165 . = RAMTOP+RAMSIZE;
166 .dummy :
167 {
168 COMMAND_START = . - 0x200 ;
169 __ramend = . ;
170 }
171}