blob: b9e24907e6ea35422361d3ba119e4500c6c31ed4 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#define VMLINUX_SYMBOL(_sym_) _##_sym_
2#include <asm-generic/vmlinux.lds.h>
Tim Abbotteb121d12009-09-24 10:36:21 -04003#include <asm/page.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07004
5/* target memory map */
6#ifdef CONFIG_H8300H_GENERIC
7#define ROMTOP 0x000000
8#define ROMSIZE 0x400000
9#define RAMTOP 0x400000
10#define RAMSIZE 0x400000
11#endif
12
13#ifdef CONFIG_H8300H_AKI3068NET
14#define ROMTOP 0x000000
15#define ROMSIZE 0x080000
16#define RAMTOP 0x400000
17#define RAMSIZE 0x200000
18#endif
19
20#ifdef CONFIG_H8300H_H8MAX
21#define ROMTOP 0x000000
22#define ROMSIZE 0x080000
23#define RAMTOP 0x400000
24#define RAMSIZE 0x200000
25#endif
26
27#ifdef CONFIG_H8300H_SIM
28#define ROMTOP 0x000000
29#define ROMSIZE 0x400000
30#define RAMTOP 0x400000
31#define RAMSIZE 0x400000
32#endif
33
34#ifdef CONFIG_H8S_SIM
35#define ROMTOP 0x000000
36#define ROMSIZE 0x400000
37#define RAMTOP 0x400000
38#define RAMSIZE 0x800000
39#endif
40
41#ifdef CONFIG_H8S_EDOSK2674
42#define ROMTOP 0x000000
43#define ROMSIZE 0x400000
44#define RAMTOP 0x400000
45#define RAMSIZE 0x800000
46#endif
47
48#if defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM)
49INPUT(romfs.o)
50#endif
51
52_jiffies = _jiffies_64 + 4;
53
54ENTRY(__start)
55
56SECTIONS
57{
58#if defined(CONFIG_ROMKERNEL)
59 . = ROMTOP;
60 .vectors :
61 {
62 __vector = . ;
63 *(.vectors*)
64 }
65#else
66 . = RAMTOP;
67 .bootvec :
68 {
69 *(.bootvec)
70 }
71#endif
72 .text :
73 {
Eric W. Biedermanfd593d12006-12-07 02:14:04 +010074 _text = .;
Linus Torvalds1da177e2005-04-16 15:20:36 -070075#if defined(CONFIG_ROMKERNEL)
76 *(.int_redirect)
77#endif
78 __stext = . ;
Sam Ravnborg76647092007-05-13 00:31:33 +020079 TEXT_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -070080 SCHED_TEXT
81 LOCK_TEXT
82 __etext = . ;
Linus Torvalds1da177e2005-04-16 15:20:36 -070083 }
Tim Abbotteb121d12009-09-24 10:36:21 -040084 EXCEPTION_TABLE(16)
Linus Torvalds1da177e2005-04-16 15:20:36 -070085
86 RODATA
87#if defined(CONFIG_ROMKERNEL)
88 SECURITY_INIT
89#endif
90 ROEND = .;
91#if defined(CONFIG_ROMKERNEL)
92 . = RAMTOP;
93 .data : AT(ROEND)
94#else
95 .data :
96#endif
97 {
98 __sdata = . ;
99 ___data_start = . ;
100
Tim Abbotteb121d12009-09-24 10:36:21 -0400101 INIT_TASK_DATA(0x2000)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102 . = ALIGN(0x4) ;
Sam Ravnborgca967252007-05-17 13:38:44 +0200103 DATA_DATA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 . = ALIGN(0x4) ;
105 *(.data.*)
106
107 . = ALIGN(0x4) ;
108 ___init_begin = .;
109 __sinittext = .;
Sam Ravnborg01ba2bd2008-01-20 14:15:03 +0100110 INIT_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700111 __einittext = .;
Sam Ravnborg01ba2bd2008-01-20 14:15:03 +0100112 INIT_DATA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113 . = ALIGN(0x4) ;
Tim Abbotteb121d12009-09-24 10:36:21 -0400114 INIT_SETUP(0x4)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115 ___setup_start = .;
116 *(.init.setup)
117 . = ALIGN(0x4) ;
118 ___setup_end = .;
Tim Abbotteb121d12009-09-24 10:36:21 -0400119 INIT_CALLS
120 CON_INITCALL
Sam Ravnborg01ba2bd2008-01-20 14:15:03 +0100121 EXIT_TEXT
122 EXIT_DATA
Tim Abbotteb121d12009-09-24 10:36:21 -0400123 INIT_RAM_FS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124 . = ALIGN(0x4) ;
125 ___init_end = .;
126 __edata = . ;
127 }
128#if defined(CONFIG_RAMKERNEL)
129 SECURITY_INIT
130#endif
131 __begin_data = LOADADDR(.data);
132 .bss :
133 {
134 . = ALIGN(0x4) ;
135 __sbss = . ;
136 *(.bss*)
137 . = ALIGN(0x4) ;
138 *(COMMON)
139 . = ALIGN(0x4) ;
140 __ebss = . ;
141 __end = . ;
142 __ramstart = .;
143 }
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144 .romfs :
145 {
146 *(.romfs*)
147 }
148 . = RAMTOP+RAMSIZE;
149 .dummy :
150 {
151 COMMAND_START = . - 0x200 ;
152 __ramend = . ;
153 }
Tejun Heo023bf6f2009-07-09 11:27:40 +0900154
155 DISCARDS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700156}