diff --git a/common/hwconfig.c b/common/hwconfig.c
index 1f9f4a0..3c9759f 100644
--- a/common/hwconfig.c
+++ b/common/hwconfig.c
@@ -26,6 +26,8 @@
 #define min(a, b) (((a) < (b)) ? (a) : (b))
 #endif /* HWCONFIG_TEST */
 
+DECLARE_GLOBAL_DATA_PTR;
+
 static const char *hwconfig_parse(const char *opts, size_t maxlen,
 				  const char *opt, char *stopchs, char eqch,
 				  size_t *arglen)
@@ -69,9 +71,26 @@
 const char *cpu_hwconfig __attribute__((weak));
 const char *board_hwconfig __attribute__((weak));
 
+#define HWCONFIG_PRE_RELOC_BUF_SIZE	128
+
 static const char *__hwconfig(const char *opt, size_t *arglen)
 {
-	const char *env_hwconfig = getenv("hwconfig");
+	const char *env_hwconfig = NULL;
+	char buf[HWCONFIG_PRE_RELOC_BUF_SIZE];
+
+	if (gd->flags & GD_FLG_ENV_READY) {
+		env_hwconfig = getenv("hwconfig");
+	} else {
+		/*
+		 * Use our own on stack based buffer before relocation to allow
+		 * accessing longer hwconfig strings that might be in the
+		 * environment before we've relocated.  This is pretty fragile
+		 * on both the use of stack and if the buffer is big enough.
+		 * However we will get a warning from getenv_f for the later.
+		 */
+		if ((getenv_f("hwconfig", buf, sizeof(buf))) > 0)
+			env_hwconfig = buf;
+	}
 
 	if (env_hwconfig)
 		return hwconfig_parse(env_hwconfig, strlen(env_hwconfig),
