blob: a2e72d495551cd370454556898a9bf687fa869aa [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 {
Eric W. Biedermanfd593d12006-12-07 02:14:04 +010073 _text = .;
Linus Torvalds1da177e2005-04-16 15:20:36 -070074#if defined(CONFIG_ROMKERNEL)
75 *(.int_redirect)
76#endif
77 __stext = . ;
Sam Ravnborg76647092007-05-13 00:31:33 +020078 TEXT_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -070079 SCHED_TEXT
80 LOCK_TEXT
81 __etext = . ;
82 . = ALIGN(16); /* Exception table */
83 ___start___ex_table = .;
84 *(__ex_table)
85 ___stop___ex_table = .;
86 }
87
88 RODATA
89#if defined(CONFIG_ROMKERNEL)
90 SECURITY_INIT
91#endif
92 ROEND = .;
93#if defined(CONFIG_ROMKERNEL)
94 . = RAMTOP;
95 .data : AT(ROEND)
96#else
97 .data :
98#endif
99 {
100 __sdata = . ;
101 ___data_start = . ;
102
103 . = ALIGN(0x2000) ;
104 *(.data.init_task)
105 . = ALIGN(0x4) ;
Sam Ravnborgca967252007-05-17 13:38:44 +0200106 DATA_DATA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107 . = ALIGN(0x4) ;
108 *(.data.*)
109
110 . = ALIGN(0x4) ;
111 ___init_begin = .;
112 __sinittext = .;
113 *(.init.text)
114 __einittext = .;
115 *(.init.data)
116 . = ALIGN(0x4) ;
117 ___setup_start = .;
118 *(.init.setup)
119 . = ALIGN(0x4) ;
120 ___setup_end = .;
121 ___initcall_start = .;
Andrew Morton61ce1ef2006-10-27 11:41:44 -0700122 INITCALLS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123 ___initcall_end = .;
124 ___con_initcall_start = .;
125 *(.con_initcall.init)
126 ___con_initcall_end = .;
127 *(.exit.text)
128 *(.exit.data)
Jean-Paul Saman67d38222007-02-10 01:44:44 -0800129#if defined(CONFIG_BLK_DEV_INITRD)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130 . = ALIGN(4);
131 ___initramfs_start = .;
132 *(.init.ramfs)
133 ___initramfs_end = .;
Jean-Paul Saman67d38222007-02-10 01:44:44 -0800134#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135 . = ALIGN(0x4) ;
136 ___init_end = .;
137 __edata = . ;
138 }
139#if defined(CONFIG_RAMKERNEL)
140 SECURITY_INIT
141#endif
142 __begin_data = LOADADDR(.data);
143 .bss :
144 {
145 . = ALIGN(0x4) ;
146 __sbss = . ;
147 *(.bss*)
148 . = ALIGN(0x4) ;
149 *(COMMON)
150 . = ALIGN(0x4) ;
151 __ebss = . ;
152 __end = . ;
153 __ramstart = .;
154 }
155 /DISCARD/ : {
156 *(.exitcall.exit)
157 }
158 .romfs :
159 {
160 *(.romfs*)
161 }
162 . = RAMTOP+RAMSIZE;
163 .dummy :
164 {
165 COMMAND_START = . - 0x200 ;
166 __ramend = . ;
167 }
168}