Commit 1c952af548012bcf281623dafa2173897bfc6a77

Authored by Greg Ungerer
Committed by Linus Torvalds
1 parent c750a012da

[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);