Merge branch 'upstream' of git://lost.foo-projects.org/~ahkok/git/netdev-2.6 into...
[linux-2.6] / arch / h8300 / kernel / vmlinux.lds.S
1 #define VMLINUX_SYMBOL(_sym_) _##_sym_
2 #include <asm-generic/vmlinux.lds.h>
3
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)
48 INPUT(romfs.o)
49 #endif
50
51 _jiffies = _jiffies_64 + 4;
52
53 ENTRY(__start)
54
55 SECTIONS
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 }