diff --git a/common/stdio.c b/common/stdio.c
index 5e58dbe44bc272a7a0acbfb0c3dd7ee838c76c24..870ddfd5ef9ac770d2d29a800d8a399dcb94b9ec 100644
--- a/common/stdio.c
+++ b/common/stdio.c
@@ -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));
diff --git a/include/asm-arm/config.h b/include/asm-arm/config.h
index 049c44eaf84de0ce67d86afcf0cd016d4bd6c407..b76fd8eb48a95a95bd7d335b32fd2a1eab338a59 100644
--- a/include/asm-arm/config.h
+++ b/include/asm-arm/config.h
@@ -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
diff --git a/include/asm-arm/global_data.h b/include/asm-arm/global_data.h
index 5c56ce32821e93fe307003eaee7a8484af258cf9..8115a24b78bba0f54ec1adc056bd8b1a83cb9753 100644
--- a/include/asm-arm/global_data.h
+++ b/include/asm-arm/global_data.h
@@ -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 */
diff --git a/include/asm-microblaze/config.h b/include/asm-microblaze/config.h
index 049c44eaf84de0ce67d86afcf0cd016d4bd6c407..8a9064b3c888565b4ed2492e27139b99cd59fcc7 100644
--- a/include/asm-microblaze/config.h
+++ b/include/asm-microblaze/config.h
@@ -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
diff --git a/include/asm-microblaze/global_data.h b/include/asm-microblaze/global_data.h
index 3f49c349c817761276658bf43128fca7b90cfc98..ec7837f6b9edc385eeb7a65e0d11335a512ad267 100644
--- a/include/asm-microblaze/global_data.h
+++ b/include/asm-microblaze/global_data.h
@@ -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 */
diff --git a/include/asm-nios/config.h b/include/asm-nios/config.h
index 049c44eaf84de0ce67d86afcf0cd016d4bd6c407..2efe898b3506b5fd03cc00d19677c0c79a909b10 100644
--- a/include/asm-nios/config.h
+++ b/include/asm-nios/config.h
@@ -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
diff --git a/include/asm-nios/global_data.h b/include/asm-nios/global_data.h
index 4929a5b872a65fe24e239d924a599294ddd3f763..fa54ee4dd3a307805c98412358df9e8c24d6ea59 100644
--- a/include/asm-nios/global_data.h
+++ b/include/asm-nios/global_data.h
@@ -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)
diff --git a/include/asm-nios2/config.h b/include/asm-nios2/config.h
index 049c44eaf84de0ce67d86afcf0cd016d4bd6c407..011d603a4b8342b056e8a1eb249ca585c553dd33 100644
--- a/include/asm-nios2/config.h
+++ b/include/asm-nios2/config.h
@@ -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
diff --git a/include/asm-nios2/global_data.h b/include/asm-nios2/global_data.h
index db71324d493bbabf210ad99dba040cbb2cdd5ba6..34aa96277adec03ce8e68be936126942cc622545 100644
--- a/include/asm-nios2/global_data.h
+++ b/include/asm-nios2/global_data.h
@@ -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)
diff --git a/include/asm-sh/config.h b/include/asm-sh/config.h
index 049c44eaf84de0ce67d86afcf0cd016d4bd6c407..978cc92f40a1a48fb8fae9a31e21f8e75aefaff4 100644
--- a/include/asm-sh/config.h
+++ b/include/asm-sh/config.h
@@ -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
diff --git a/include/asm-sh/global_data.h b/include/asm-sh/global_data.h
index f8ade5ca621d70f3734503efbcf67d36615acc5e..c12b8558ecbd7a2fc6a335762f14f31ebd1973a7 100644
--- a/include/asm-sh/global_data.h
+++ b/include/asm-sh/global_data.h
@@ -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 */