]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - arch/h8300/kernel/vmlinux.lds.S
Linux-2.6.12-rc2
[mirror_ubuntu-artful-kernel.git] / arch / h8300 / kernel / vmlinux.lds.S
1 #define VMLINUX_SYMBOL(_sym_) _##_sym_
2 #include <asm-generic/vmlinux.lds.h>
3 #include <linux/config.h>
4
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)
49 INPUT(romfs.o)
50 #endif
51
52 _jiffies = _jiffies_64 + 4;
53
54 ENTRY(__start)
55
56 SECTIONS
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 {
74 #if defined(CONFIG_ROMKERNEL)
75 *(.int_redirect)
76 #endif
77 __stext = . ;
78 *(.text)
79 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) ;
106 *(.data)
107 . = 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 = .;
122 *(.initcall1.init)
123 *(.initcall2.init)
124 *(.initcall3.init)
125 *(.initcall4.init)
126 *(.initcall5.init)
127 *(.initcall6.init)
128 *(.initcall7.init)
129 ___initcall_end = .;
130 ___con_initcall_start = .;
131 *(.con_initcall.init)
132 ___con_initcall_end = .;
133 *(.exit.text)
134 *(.exit.data)
135 . = ALIGN(4);
136 ___initramfs_start = .;
137 *(.init.ramfs)
138 ___initramfs_end = .;
139 . = ALIGN(0x4) ;
140 ___init_end = .;
141 __edata = . ;
142 }
143 #if defined(CONFIG_RAMKERNEL)
144 SECURITY_INIT
145 #endif
146 __begin_data = LOADADDR(.data);
147 .bss :
148 {
149 . = ALIGN(0x4) ;
150 __sbss = . ;
151 *(.bss*)
152 . = ALIGN(0x4) ;
153 *(COMMON)
154 . = ALIGN(0x4) ;
155 __ebss = . ;
156 __end = . ;
157 __ramstart = .;
158 }
159 /DISCARD/ : {
160 *(.exitcall.exit)
161 }
162 .romfs :
163 {
164 *(.romfs*)
165 }
166 . = RAMTOP+RAMSIZE;
167 .dummy :
168 {
169 COMMAND_START = . - 0x200 ;
170 __ramend = . ;
171 }
172 }