arm/microblaze/nios/nios2/sh: Remove relocation fixups
authorPeter Tyser <ptyser@xes-inc.com>
Tue, 22 Sep 2009 14:27:55 +0000 (09:27 -0500)
committerWolfgang Denk <wd@denx.de>
Sat, 3 Oct 2009 08:17:57 +0000 (10:17 +0200)
These architectures don't need relocation fixups, so reduce their
codesize a bit by defining CONFIG_RELOC_FIXUP_WORKS.

Also remove the reloc_off field from their global data structures
as it is no longer needed.

Note that the location of the standalone application jump table pointer
in the global data structure is affected by this change, breaking
execution of standalone applications compiled for previous versions of
U-Boot. We will therefore increment XF_VERSION in the next commit,
which also touches this area.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Wolfgang Denk <wd@denx.de>
common/stdio.c
include/asm-arm/config.h
include/asm-arm/global_data.h
include/asm-microblaze/config.h
include/asm-microblaze/global_data.h
include/asm-nios/config.h
include/asm-nios/global_data.h
include/asm-nios2/config.h
include/asm-nios2/global_data.h
include/asm-sh/config.h
include/asm-sh/global_data.h

index 5e58dbe44bc272a7a0acbfb0c3dd7ee838c76c24..870ddfd5ef9ac770d2d29a800d8a399dcb94b9ec 100644 (file)
@@ -201,7 +201,7 @@ int stdio_deregister(char *devname)
 
 int stdio_init (void)
 {
-#if !defined(CONFIG_ARM) && !defined(CONFIG_RELOC_FIXUP_WORKS)
+#if !defined(CONFIG_RELOC_FIXUP_WORKS)
        /* already relocated for current ARM implementation */
        ulong relocation_offset = gd->reloc_off;
        int i;
@@ -211,7 +211,7 @@ int stdio_init (void)
                stdio_names[i] = (char *) (((ulong) stdio_names[i]) +
                                                relocation_offset);
        }
-#endif /* !ARM && !CONFIG_RELOC_FIXUP_WORKS */
+#endif /* !CONFIG_RELOC_FIXUP_WORKS */
 
        /* Initialize the list */
        INIT_LIST_HEAD(&(devs.list));
index 049c44eaf84de0ce67d86afcf0cd016d4bd6c407..b76fd8eb48a95a95bd7d335b32fd2a1eab338a59 100644 (file)
@@ -21,4 +21,7 @@
 #ifndef _ASM_CONFIG_H_
 #define _ASM_CONFIG_H_
 
+/* Relocation to SDRAM works on all ARM boards */
+#define CONFIG_RELOC_FIXUP_WORKS
+
 #endif
index 5c56ce32821e93fe307003eaee7a8484af258cf9..8115a24b78bba0f54ec1adc056bd8b1a83cb9753 100644 (file)
@@ -38,7 +38,6 @@ typedef       struct  global_data {
        unsigned long   flags;
        unsigned long   baudrate;
        unsigned long   have_console;   /* serial_init() was called */
-       unsigned long   reloc_off;      /* Relocation Offset */
        unsigned long   env_addr;       /* Address  of Environment struct */
        unsigned long   env_valid;      /* Checksum of Environment valid? */
        unsigned long   fb_base;        /* base address of frame buffer */
index 049c44eaf84de0ce67d86afcf0cd016d4bd6c407..8a9064b3c888565b4ed2492e27139b99cd59fcc7 100644 (file)
@@ -21,4 +21,7 @@
 #ifndef _ASM_CONFIG_H_
 #define _ASM_CONFIG_H_
 
+/* Relocation to SDRAM works on all Microblaze boards */
+#define CONFIG_RELOC_FIXUP_WORKS
+
 #endif
index 3f49c349c817761276658bf43128fca7b90cfc98..ec7837f6b9edc385eeb7a65e0d11335a512ad267 100644 (file)
@@ -39,7 +39,6 @@ typedef       struct  global_data {
        unsigned long   flags;
        unsigned long   baudrate;
        unsigned long   have_console;   /* serial_init() was called */
-       unsigned long   reloc_off;      /* Relocation Offset */
        unsigned long   env_addr;       /* Address  of Environment struct */
        unsigned long   env_valid;      /* Checksum of Environment valid? */
        unsigned long   fb_base;        /* base address of frame buffer */
index 049c44eaf84de0ce67d86afcf0cd016d4bd6c407..2efe898b3506b5fd03cc00d19677c0c79a909b10 100644 (file)
@@ -21,4 +21,7 @@
 #ifndef _ASM_CONFIG_H_
 #define _ASM_CONFIG_H_
 
+/* Relocation to SDRAM works on all NIOS boards */
+#define CONFIG_RELOC_FIXUP_WORKS
+
 #endif
index 4929a5b872a65fe24e239d924a599294ddd3f763..fa54ee4dd3a307805c98412358df9e8c24d6ea59 100644 (file)
@@ -31,7 +31,6 @@ typedef       struct  global_data {
        unsigned long   cpu_clk;        /* CPU clock in Hz!             */
        unsigned long   have_console;   /* serial_init() was called */
        phys_size_t     ram_size;       /* RAM size */
-       unsigned long   reloc_off;      /* Relocation Offset */
        unsigned long   env_addr;       /* Address  of Environment struct */
        unsigned long   env_valid;      /* Checksum of Environment valid */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
index 049c44eaf84de0ce67d86afcf0cd016d4bd6c407..011d603a4b8342b056e8a1eb249ca585c553dd33 100644 (file)
@@ -21,4 +21,7 @@
 #ifndef _ASM_CONFIG_H_
 #define _ASM_CONFIG_H_
 
+/* Relocation to SDRAM works on all NIOS2 boards */
+#define CONFIG_RELOC_FIXUP_WORKS
+
 #endif
index db71324d493bbabf210ad99dba040cbb2cdd5ba6..34aa96277adec03ce8e68be936126942cc622545 100644 (file)
@@ -30,7 +30,6 @@ typedef       struct  global_data {
        unsigned long   cpu_clk;        /* CPU clock in Hz!             */
        unsigned long   have_console;   /* serial_init() was called */
        phys_size_t     ram_size;       /* RAM size */
-       unsigned long   reloc_off;      /* Relocation Offset */
        unsigned long   env_addr;       /* Address  of Environment struct */
        unsigned long   env_valid;      /* Checksum of Environment valid */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
index 049c44eaf84de0ce67d86afcf0cd016d4bd6c407..978cc92f40a1a48fb8fae9a31e21f8e75aefaff4 100644 (file)
@@ -21,4 +21,7 @@
 #ifndef _ASM_CONFIG_H_
 #define _ASM_CONFIG_H_
 
+/* Relocation to SDRAM works on all sh boards */
+#define CONFIG_RELOC_FIXUP_WORKS
+
 #endif
index f8ade5ca621d70f3734503efbcf67d36615acc5e..c12b8558ecbd7a2fc6a335762f14f31ebd1973a7 100644 (file)
@@ -35,7 +35,6 @@ typedef       struct global_data
        unsigned long   cpu_clk;        /* CPU clock in Hz! */
        unsigned long   have_console;   /* serial_init() was called */
        phys_size_t     ram_size;       /* RAM size */
-       unsigned long   reloc_off;      /* Relocation Offset */
        unsigned long   env_addr;       /* Address  of Environment struct */
        unsigned long   env_valid;      /* Checksum of Environment valid */
        void            **jt;           /* Standalone app jump table */