1#define VMLINUX_SYMBOL(_sym_) _
2#include <asm-generic/vmlinux.lds.h>
3#include <asm/page.h>
4
5
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
49INPUT(romfs.o)
50#endif
51
52_jiffies = _jiffies_64 + 4;
53
54ENTRY(__start)
55
56SECTIONS
57{
58
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 _text = .;
75
76 *(.int_redirect)
77#endif
78 __stext = . ;
79 TEXT_TEXT
80 SCHED_TEXT
81 LOCK_TEXT
82 __etext = . ;
83 }
84 EXCEPTION_TABLE(16)
85
86 RODATA
87
88 SECURITY_INIT
89#endif
90 ROEND = .;
91
92 . = RAMTOP;
93 .data : AT(ROEND)
94#else
95 .data :
96#endif
97 {
98 __sdata = . ;
99 ___data_start = . ;
100
101 INIT_TASK_DATA(0x2000)
102 . = ALIGN(0x4) ;
103 DATA_DATA
104 . = ALIGN(0x4) ;
105 *(.data.*)
106
107 . = ALIGN(0x4) ;
108 ___init_begin = .;
109 __sinittext = .;
110 INIT_TEXT
111 __einittext = .;
112 INIT_DATA
113 . = ALIGN(0x4) ;
114 INIT_SETUP(0x4)
115 ___setup_start = .;
116 *(.init.setup)
117 . = ALIGN(0x4) ;
118 ___setup_end = .;
119 INIT_CALLS
120 CON_INITCALL
121 EXIT_TEXT
122 EXIT_DATA
123 INIT_RAM_FS
124 . = ALIGN(0x4) ;
125 ___init_end = .;
126 __edata = . ;
127 }
128
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 }
144 .romfs :
145 {
146 *(.romfs*)
147 }
148 . = RAMTOP+RAMSIZE;
149 .dummy :
150 {
151 COMMAND_START = . - 0x200 ;
152 __ramend = . ;
153 }
154
155 DISCARDS
156}
157