[PATCH] m68knommu: remove fixed ROM region setups from linker script
authorGreg Ungerer <gerg@snapgear.com>
Wed, 28 Jun 2006 06:44:14 +0000 (16:44 +1000)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 28 Jun 2006 22:03:47 +0000 (15:03 -0700)
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>
arch/m68knommu/kernel/vmlinux.lds.S

index 6a2f0c6932547079639ebf10ff11955660ad5a3e..59ced831b79214358ef5a5bec9d6bb9def55df4d 100644 (file)
@@ -3,63 +3,13 @@
  *
  *     (C) Copyright 2002-2006, Greg Ungerer <gerg@snapgear.com>
  *
  *
  *     (C) Copyright 2002-2006, Greg Ungerer <gerg@snapgear.com>
  *
- *     This ends up looking compilcated, because of the number of
- *     address variations for ram and rom/flash layouts. The real
- *     work of the linker script is all at the end, and reasonably
- *     strait forward.
+ *     This linker script is equiped to build either ROM loaded or RAM
+ *     run kernels.
  */
 
 #include <linux/config.h>
 #include <asm-generic/vmlinux.lds.h>
 
  */
 
 #include <linux/config.h>
 #include <asm-generic/vmlinux.lds.h>
 
-/*
- *     Original Palm pilot (same for Xcopilot).
- *     There is really only a rom target for this.
- */
-#ifdef CONFIG_PILOT3
-#define        ROMVEC_START    0x10c00000
-#define        ROMVEC_LENGTH   0x10400
-#define        ROM_START       0x10c10400
-#define        ROM_LENGTH      0xfec00
-#define        ROM_END         0x10d00000
-#define        DATA_ADDR       CONFIG_KERNELBASE
-#endif
-
-/*
- *     Same setup on both the uCsimm and uCdimm.
- */
-#if defined(CONFIG_UCSIMM) || defined(CONFIG_UCDIMM)
-#ifdef CONFIG_RAMKERNEL
-#define        ROMVEC_START    0x10c10000
-#define        ROMVEC_LENGTH   0x400
-#define        ROM_START       0x10c10400
-#define        ROM_LENGTH      0x1efc00
-#define        ROM_END         0x10e00000
-#endif
-#ifdef CONFIG_ROMKERNEL
-#define        ROMVEC_START    0x10c10000
-#define        ROMVEC_LENGTH   0x400
-#define        ROM_START       0x10c10400
-#define        ROM_LENGTH      0x1efc00
-#define        ROM_END         0x10e00000
-#endif
-#ifdef CONFIG_HIMEMKERNEL
-#define        ROMVEC_START    0x00600000
-#define        ROMVEC_LENGTH   0x400
-#define        ROM_START       0x00600400
-#define        ROM_LENGTH      0x1efc00
-#define        ROM_END         0x007f0000
-#endif
-#endif
-
-#ifdef CONFIG_UCQUICC
-#define        ROMVEC_START    0x00000000
-#define        ROMVEC_LENGTH   0x404
-#define        ROM_START       0x00000404
-#define        ROM_LENGTH      0x1ff6fc
-#define        ROM_END         0x00200000
-#endif
-
 #if defined(CONFIG_RAMKERNEL)
 #define        RAM_START       CONFIG_KERNELBASE
 #define        RAM_LENGTH      (CONFIG_RAMBASE + CONFIG_RAMSIZE - CONFIG_KERNELBASE)
 #if defined(CONFIG_RAMKERNEL)
 #define        RAM_START       CONFIG_KERNELBASE
 #define        RAM_LENGTH      (CONFIG_RAMBASE + CONFIG_RAMSIZE - CONFIG_KERNELBASE)
 #if defined(CONFIG_ROMKERNEL) || defined(CONFIG_HIMEMKERNEL)
 #define        RAM_START       CONFIG_RAMBASE
 #define        RAM_LENGTH      CONFIG_RAMSIZE
 #if defined(CONFIG_ROMKERNEL) || defined(CONFIG_HIMEMKERNEL)
 #define        RAM_START       CONFIG_RAMBASE
 #define        RAM_LENGTH      CONFIG_RAMSIZE
+#define        ROMVEC_START    CONFIG_ROMVEC
+#define        ROMVEC_LENGTH   CONFIG_ROMVECSIZE
+#define        ROM_START       CONFIG_ROMSTART
+#define        ROM_LENGTH      CONFIG_ROMSIZE
 #define        TEXT            rom
 #define        DATA            ram
 #define        INIT            ram
 #define        TEXT            rom
 #define        DATA            ram
 #define        INIT            ram
@@ -90,7 +44,6 @@ MEMORY {
 #ifdef ROM_START
        romvec  : ORIGIN = ROMVEC_START, LENGTH = ROMVEC_LENGTH
        rom     : ORIGIN = ROM_START, LENGTH = ROM_LENGTH
 #ifdef ROM_START
        romvec  : ORIGIN = ROMVEC_START, LENGTH = ROMVEC_LENGTH
        rom     : ORIGIN = ROM_START, LENGTH = ROM_LENGTH
-       erom    : ORIGIN = ROM_END, LENGTH = 0
 #endif
 }
 
 #endif
 }
 
@@ -167,13 +120,6 @@ SECTIONS {
                _etext = . ;
        } > TEXT
 
                _etext = . ;
        } > TEXT
 
-#ifdef ROM_END
-       . = ROM_END ;
-       .erom : {
-               __rom_end = . ;
-       } > erom
-#endif
-
        .data DATA_ADDR : {
                . = ALIGN(4);
                _sdata = . ;
        .data DATA_ADDR : {
                . = ALIGN(4);
                _sdata = . ;