Commit 1c952af548012bcf281623dafa2173897bfc6a77
Committed by
Linus Torvalds
1 parent
c750a012da
Exists in
master
and in
20 other branches
[PATCH] m68knommu: remove fixed ROM region setups from linker script
Remove the hard coded ROM region setups. Use Kconfig options to specify these in a generic way for platorms that want them. This builds on top of the other recent m68knommu linker script changes to completely remove fixed board configurations. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 1 changed file with 6 additions and 60 deletions Side-by-side Diff
arch/m68knommu/kernel/vmlinux.lds.S
... | ... | @@ -3,63 +3,13 @@ |
3 | 3 | * |
4 | 4 | * (C) Copyright 2002-2006, Greg Ungerer <gerg@snapgear.com> |
5 | 5 | * |
6 | - * This ends up looking compilcated, because of the number of | |
7 | - * address variations for ram and rom/flash layouts. The real | |
8 | - * work of the linker script is all at the end, and reasonably | |
9 | - * strait forward. | |
6 | + * This linker script is equiped to build either ROM loaded or RAM | |
7 | + * run kernels. | |
10 | 8 | */ |
11 | 9 | |
12 | 10 | #include <linux/config.h> |
13 | 11 | #include <asm-generic/vmlinux.lds.h> |
14 | 12 | |
15 | -/* | |
16 | - * Original Palm pilot (same for Xcopilot). | |
17 | - * There is really only a rom target for this. | |
18 | - */ | |
19 | -#ifdef CONFIG_PILOT3 | |
20 | -#define ROMVEC_START 0x10c00000 | |
21 | -#define ROMVEC_LENGTH 0x10400 | |
22 | -#define ROM_START 0x10c10400 | |
23 | -#define ROM_LENGTH 0xfec00 | |
24 | -#define ROM_END 0x10d00000 | |
25 | -#define DATA_ADDR CONFIG_KERNELBASE | |
26 | -#endif | |
27 | - | |
28 | -/* | |
29 | - * Same setup on both the uCsimm and uCdimm. | |
30 | - */ | |
31 | -#if defined(CONFIG_UCSIMM) || defined(CONFIG_UCDIMM) | |
32 | -#ifdef CONFIG_RAMKERNEL | |
33 | -#define ROMVEC_START 0x10c10000 | |
34 | -#define ROMVEC_LENGTH 0x400 | |
35 | -#define ROM_START 0x10c10400 | |
36 | -#define ROM_LENGTH 0x1efc00 | |
37 | -#define ROM_END 0x10e00000 | |
38 | -#endif | |
39 | -#ifdef CONFIG_ROMKERNEL | |
40 | -#define ROMVEC_START 0x10c10000 | |
41 | -#define ROMVEC_LENGTH 0x400 | |
42 | -#define ROM_START 0x10c10400 | |
43 | -#define ROM_LENGTH 0x1efc00 | |
44 | -#define ROM_END 0x10e00000 | |
45 | -#endif | |
46 | -#ifdef CONFIG_HIMEMKERNEL | |
47 | -#define ROMVEC_START 0x00600000 | |
48 | -#define ROMVEC_LENGTH 0x400 | |
49 | -#define ROM_START 0x00600400 | |
50 | -#define ROM_LENGTH 0x1efc00 | |
51 | -#define ROM_END 0x007f0000 | |
52 | -#endif | |
53 | -#endif | |
54 | - | |
55 | -#ifdef CONFIG_UCQUICC | |
56 | -#define ROMVEC_START 0x00000000 | |
57 | -#define ROMVEC_LENGTH 0x404 | |
58 | -#define ROM_START 0x00000404 | |
59 | -#define ROM_LENGTH 0x1ff6fc | |
60 | -#define ROM_END 0x00200000 | |
61 | -#endif | |
62 | - | |
63 | 13 | #if defined(CONFIG_RAMKERNEL) |
64 | 14 | #define RAM_START CONFIG_KERNELBASE |
65 | 15 | #define RAM_LENGTH (CONFIG_RAMBASE + CONFIG_RAMSIZE - CONFIG_KERNELBASE) |
... | ... | @@ -71,6 +21,10 @@ |
71 | 21 | #if defined(CONFIG_ROMKERNEL) || defined(CONFIG_HIMEMKERNEL) |
72 | 22 | #define RAM_START CONFIG_RAMBASE |
73 | 23 | #define RAM_LENGTH CONFIG_RAMSIZE |
24 | +#define ROMVEC_START CONFIG_ROMVEC | |
25 | +#define ROMVEC_LENGTH CONFIG_ROMVECSIZE | |
26 | +#define ROM_START CONFIG_ROMSTART | |
27 | +#define ROM_LENGTH CONFIG_ROMSIZE | |
74 | 28 | #define TEXT rom |
75 | 29 | #define DATA ram |
76 | 30 | #define INIT ram |
... | ... | @@ -90,7 +44,6 @@ |
90 | 44 | #ifdef ROM_START |
91 | 45 | romvec : ORIGIN = ROMVEC_START, LENGTH = ROMVEC_LENGTH |
92 | 46 | rom : ORIGIN = ROM_START, LENGTH = ROM_LENGTH |
93 | - erom : ORIGIN = ROM_END, LENGTH = 0 | |
94 | 47 | #endif |
95 | 48 | } |
96 | 49 | |
... | ... | @@ -166,13 +119,6 @@ |
166 | 119 | . = ALIGN(4) ; |
167 | 120 | _etext = . ; |
168 | 121 | } > TEXT |
169 | - | |
170 | -#ifdef ROM_END | |
171 | - . = ROM_END ; | |
172 | - .erom : { | |
173 | - __rom_end = . ; | |
174 | - } > erom | |
175 | -#endif | |
176 | 122 | |
177 | 123 | .data DATA_ADDR : { |
178 | 124 | . = ALIGN(4); |