Linux 3.11-rc3
[cris-mirror.git] / arch / h8300 / kernel / vmlinux.lds.S
blob3253fed42ac1b433fcd35f8073fed8dd080f1d39
1 #include <asm-generic/vmlinux.lds.h>
2 #include <asm/page.h>
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
12 #ifdef CONFIG_H8300H_AKI3068NET
13 #define ROMTOP  0x000000
14 #define ROMSIZE 0x080000
15 #define RAMTOP  0x400000
16 #define RAMSIZE 0x200000
17 #endif
19 #ifdef CONFIG_H8300H_H8MAX
20 #define ROMTOP  0x000000
21 #define ROMSIZE 0x080000
22 #define RAMTOP  0x400000
23 #define RAMSIZE 0x200000
24 #endif
26 #ifdef CONFIG_H8300H_SIM
27 #define ROMTOP  0x000000
28 #define ROMSIZE 0x400000
29 #define RAMTOP  0x400000
30 #define RAMSIZE 0x400000
31 #endif
33 #ifdef CONFIG_H8S_SIM
34 #define ROMTOP  0x000000
35 #define ROMSIZE 0x400000
36 #define RAMTOP  0x400000
37 #define RAMSIZE 0x800000
38 #endif
40 #ifdef CONFIG_H8S_EDOSK2674
41 #define ROMTOP  0x000000
42 #define ROMSIZE 0x400000
43 #define RAMTOP  0x400000
44 #define RAMSIZE 0x800000
45 #endif
47 #if defined(CONFIG_H8300H_SIM) || defined(CONFIG_H8S_SIM)
48 INPUT(romfs.o)
49 #endif
51 _jiffies = _jiffies_64 + 4;
53 ENTRY(__start)
55 SECTIONS
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         _text = .;
74 #if defined(CONFIG_ROMKERNEL)
75         *(.int_redirect)
76 #endif
77         __stext = . ;
78         TEXT_TEXT
79         SCHED_TEXT
80         LOCK_TEXT
81         __etext = . ;
82         }
83         EXCEPTION_TABLE(16)
85         RODATA
86 #if defined(CONFIG_ROMKERNEL)
87         SECURITY_INIT
88 #endif
89         ROEND = .; 
90 #if defined(CONFIG_ROMKERNEL)
91         . = RAMTOP;
92         .data : AT(ROEND)
93 #else
94         .data : 
95 #endif
96         {
97         __sdata = . ;
98         ___data_start = . ;
100         INIT_TASK_DATA(0x2000)
101         . = ALIGN(0x4) ;
102                 DATA_DATA
103         . = ALIGN(0x4) ;
104                 *(.data.*)      
106         . = ALIGN(0x4) ;
107         ___init_begin = .;
108         __sinittext = .; 
109                 INIT_TEXT
110         __einittext = .; 
111                 INIT_DATA
112         . = ALIGN(0x4) ;
113         INIT_SETUP(0x4)
114         ___setup_start = .;
115                 *(.init.setup)
116         . = ALIGN(0x4) ;
117         ___setup_end = .;
118         INIT_CALLS
119         CON_INITCALL
120                 EXIT_TEXT
121                 EXIT_DATA
122         INIT_RAM_FS
123         . = ALIGN(0x4) ;
124         ___init_end = .;
125         __edata = . ;
126         }
127 #if defined(CONFIG_RAMKERNEL)
128         SECURITY_INIT
129 #endif
130         __begin_data = LOADADDR(.data);
131         .bss : 
132         {
133         . = ALIGN(0x4) ;
134         __sbss = . ;
135         ___bss_start = . ;
136                 *(.bss*)
137         . = ALIGN(0x4) ;
138                 *(COMMON)
139         . = ALIGN(0x4) ;
140         ___bss_stop = . ;
141         __ebss = . ;
142         __end = . ;
143         __ramstart = .;
144         }
145         .romfs :        
146         {
147                 *(.romfs*)
148         }
149         . = RAMTOP+RAMSIZE;
150         .dummy :
151         {
152         COMMAND_START = . - 0x200 ;
153         __ramend = . ;
154         }
156         DISCARDS