patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / arch / h8300 / kernel / vmlinux.lds.S
1 #define VMLINUX_SYMBOL(_sym_) _##_sym_
2 #include <asm-generic/vmlinux.lds.h>
3 #include <asm/thread_info.h>
4 #include <linux/config.h>
5
6 #ifdef CONFIG_H8300H_GENERIC
7 #ifdef CONFIG_ROMKERNEL
8 #include "../platform/h8300h/generic/rom.ld"
9 #endif
10 #ifdef CONFIG_RAMKERNEL
11 #include "../platform/h8300h/generic/ram.ld"
12 #endif
13 #endif
14
15 #ifdef CONFIG_H8300H_AKI3068NET
16 #ifdef CONFIG_ROMKERNEL
17 #include "../platform/h8300h/aki3068net/rom.ld"
18 #endif
19 #ifdef CONFIG_RAMKERNEL
20 #include "../platform/h8300h/aki3068net/ram.ld"
21 #endif
22 #endif
23
24 #ifdef CONFIG_H8300H_H8MAX
25 #ifdef CONFIG_ROMKERNEL
26 #include "../platform/h8300h/h8max/rom.ld"
27 #endif
28 #ifdef CONFIG_RAMKERNEL
29 #include "../platform/h8300h/h8max/ram.ld"
30 #endif
31 #endif
32
33 #ifdef CONFIG_H8300H_SIM
34 #ifdef CONFIG_ROMKERNEL
35 #include "../platform/h8300h/generic/rom.ld"
36 #endif
37 #ifdef CONFIG_RAMKERNEL
38 #include "../platform/h8300h/generic/ram.ld"
39 #endif
40 #endif
41
42 #ifdef CONFIG_H8S_SIM
43 #ifdef CONFIG_ROMKERNEL
44 #include "../platform/h8s/generic/rom.ld"
45 #endif
46 #ifdef CONFIG_RAMKERNEL
47 #include "../platform/h8s/generic/ram.ld"
48 #endif
49 #endif
50
51 #ifdef CONFIG_H8S_EDOSK2674
52 #ifdef CONFIG_ROMKERNEL
53 #include "../platform/h8s/edosk2674/rom.ld"
54 #endif
55 #ifdef CONFIG_RAMKERNEL
56 #include "../platform/h8s/edosk2674/ram.ld"
57 #endif
58 #endif
59
60 #if defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM)
61 INPUT(romfs.o)
62 #endif
63
64 _jiffies = _jiffies_64 + 4;
65
66 SECTIONS
67 {
68 #if defined(CONFIG_ROMKERNEL)
69         .vectors :
70         {
71         __vector = . ;
72                 *(.vectors*)
73         } > vector
74 #endif
75 #if defined(CONFIG_RAMKERNEL)
76         .bootvec :
77         {
78                 *(.bootvec)
79         } > ram
80 #endif
81         .text :
82         {
83 #if defined(CONFIG_ROMKERNEL)
84                 *(.int_redirect)
85 #endif
86         __stext = . ;
87                 *(.text)
88         SCHED_TEXT
89         . = ALIGN(0x4) ;
90                 *(.exit.text)
91                 *(.text.*)
92         . = ALIGN(0x4) ;
93                 *(.exitcall.exit)
94         . = ALIGN(0x4) ;
95                 *(.kstrtab)
96         . = ALIGN(0x4) ;
97                 *(.rodata*)
98         . = ALIGN(16);          /* Exception table              */
99         ___start___ex_table = .;
100                 *(__ex_table)
101         ___stop___ex_table = .;
102
103         ___start___ksymtab = .;  /* Kernel symbol table          */
104                  *(__ksymtab)
105         ___stop___ksymtab = .;
106
107         ___start___ksymtab_gpl = .;     /* Kernel symbol table: GPL-only symbols */
108
109         *(__ksymtab_gpl)
110         ___stop___ksymtab_gpl = .;
111
112         ___start___kcrctab = .; /* Kernel symbol table: Normal symbols */
113         *(__kcrctab)
114         ___stop___kcrctab = .;
115
116         ___start___kcrctab_gpl = .;     /* Kernel symbol table: GPL-only symbols */
117         *(__kcrctab_gpl)
118         ___stop___kcrctab_gpl = .;
119
120         *(__ksymtab_strings)    /* Kernel symbol table: strings */
121
122         . = ALIGN(0x4) ;
123         __etext = . ;
124 #if defined(CONFIG_ROMKERNEL)
125         } > rom
126 #endif
127 #if defined(CONFIG_RAMKERNEL)
128         } > ram
129 #endif
130         .data : AT( ADDR(.text)+SIZEOF(.text))
131         {
132         __sdata = . ;
133         ___data_start = . ;
134
135         . = ALIGN(0x2000) ;
136                 *(.data.init_task)
137         . = ALIGN(0x4) ;
138                 *(.data)
139         . = ALIGN(0x4) ;
140                 *(.data.*)      
141
142         . = ALIGN(0x4) ;
143         ___init_begin = .;
144         __sinittext = .; 
145                 *(.init.text)
146         __einittext = .; 
147                 *(.init.data)
148         . = ALIGN(0x4) ;
149         ___setup_start = .;
150                 *(.init.setup)
151         . = ALIGN(0x4) ;
152         ___setup_end = .;
153         ___start___param = .;
154                 *(__param)
155         ___stop___param = .;
156         ___initcall_start = .;
157                 *(.initcall1.init)
158                 *(.initcall2.init)
159                 *(.initcall3.init)
160                 *(.initcall4.init)
161                 *(.initcall5.init)
162                 *(.initcall6.init)
163                 *(.initcall7.init)
164         ___initcall_end = .;
165         ___con_initcall_start = .;
166                 *(.con_initcall.init)
167         ___con_initcall_end = .;
168                 . = ALIGN(4);
169         ___initramfs_start = .;
170                 *(.init.ramfs)
171         ___initramfs_end = .;
172         . = ALIGN(0x4) ;
173         ___init_end = .;
174         __edata = . ;
175         } > ram
176         __begin_data = LOADADDR(.data) ;
177 #if defined(CONFIG_ROMKERNEL)
178         .erom :
179         {
180         __erom = . ;
181         } > erom
182 #endif
183         .bss : 
184         {
185         . = ALIGN(0x4) ;
186         __sbss = . ;
187                 *(.bss*)
188         . = ALIGN(0x4) ;
189                 *(COMMON)
190         . = ALIGN(0x4) ;
191         __ebss = . ;
192         __end = . ;
193         __ramstart = .;
194         } > ram
195         .romfs :        
196         {
197                 *(.romfs*)
198         } > ram
199         .dummy :
200         {
201         COMMAND_START = . - 0x200 ;
202         __ramend = . ;
203         } > eram
204 }
205