[U-Boot] [PATCH/RFC] global_data: unify global flag defines

Mike Frysinger vapier at gentoo.org
Sat Nov 5 18:22:31 CET 2011


All the global flag defines are the same across all arches (ignoring two
unique x86 ones).  So unify them in one place, and add a simple way for
arches to extend for their needs.

Signed-off-by: Mike Frysinger <vapier at gentoo.org>
---
note: this depends on Graeme's x86 boot flag clean up

 arch/arm/include/asm/global_data.h        |   14 +-----------
 arch/avr32/include/asm/global_data.h      |   14 +-----------
 arch/blackfin/include/asm/global_data.h   |   14 +-----------
 arch/m68k/include/asm/global_data.h       |   14 +-----------
 arch/microblaze/include/asm/global_data.h |   14 +-----------
 arch/mips/include/asm/global_data.h       |   14 +-----------
 arch/nds32/include/asm/global_data.h      |   14 +-----------
 arch/nios2/include/asm/global_data.h      |   10 +--------
 arch/powerpc/include/asm/global_data.h    |   14 +-----------
 arch/sandbox/include/asm/global_data.h    |   14 +-----------
 arch/sh/include/asm/global_data.h         |    9 +-------
 arch/sparc/include/asm/global_data.h      |   14 +-----------
 arch/x86/include/asm/global_data.h        |   16 +-------------
 include/asm-generic/global_data_flags.h   |   33 +++++++++++++++++++++++++++++
 14 files changed, 46 insertions(+), 162 deletions(-)
 create mode 100644 include/asm-generic/global_data_flags.h

diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h
index c3ff789..f8088fe 100644
--- a/arch/arm/include/asm/global_data.h
+++ b/arch/arm/include/asm/global_data.h
@@ -29,8 +29,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 
 typedef	struct	global_data {
@@ -86,17 +84,7 @@ typedef	struct	global_data {
 #endif
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
+#include <asm-generic/global_data_flags.h>
 
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r8")
 
diff --git a/arch/avr32/include/asm/global_data.h b/arch/avr32/include/asm/global_data.h
index 5c654bd..7878bb1 100644
--- a/arch/avr32/include/asm/global_data.h
+++ b/arch/avr32/include/asm/global_data.h
@@ -28,8 +28,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 
 typedef	struct	global_data {
@@ -52,17 +50,7 @@ typedef	struct	global_data {
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
+#include <asm-generic/global_data_flags.h>
 
 #define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm("r5")
 
diff --git a/arch/blackfin/include/asm/global_data.h b/arch/blackfin/include/asm/global_data.h
index 67aa30f..ad42e91 100644
--- a/arch/blackfin/include/asm/global_data.h
+++ b/arch/blackfin/include/asm/global_data.h
@@ -36,8 +36,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 typedef struct global_data {
 	bd_t *bd;
@@ -61,17 +59,7 @@ typedef struct global_data {
 	char	env_buf[32];		/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
+#include <asm-generic/global_data_flags.h>
 
 #define DECLARE_GLOBAL_DATA_PTR     register gd_t * volatile gd asm ("P3")
 
diff --git a/arch/m68k/include/asm/global_data.h b/arch/m68k/include/asm/global_data.h
index 0ba2b43..cd55b83 100644
--- a/arch/m68k/include/asm/global_data.h
+++ b/arch/m68k/include/asm/global_data.h
@@ -29,8 +29,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 
 typedef	struct	global_data {
@@ -70,17 +68,7 @@ typedef	struct	global_data {
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
+#include <asm-generic/global_data_flags.h>
 
 #if 0
 extern gd_t *global_data;
diff --git a/arch/microblaze/include/asm/global_data.h b/arch/microblaze/include/asm/global_data.h
index 6e8537c..0dc4ce9 100644
--- a/arch/microblaze/include/asm/global_data.h
+++ b/arch/microblaze/include/asm/global_data.h
@@ -30,8 +30,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 
 typedef	struct	global_data {
@@ -49,17 +47,7 @@ typedef	struct	global_data {
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
+#include <asm-generic/global_data_flags.h>
 
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r31")
 
diff --git a/arch/mips/include/asm/global_data.h b/arch/mips/include/asm/global_data.h
index f6cf9fe..6e2cdc7 100644
--- a/arch/mips/include/asm/global_data.h
+++ b/arch/mips/include/asm/global_data.h
@@ -32,8 +32,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 
 typedef	struct	global_data {
@@ -63,17 +61,7 @@ typedef	struct	global_data {
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
+#include <asm-generic/global_data_flags.h>
 
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("k0")
 
diff --git a/arch/nds32/include/asm/global_data.h b/arch/nds32/include/asm/global_data.h
index de20a0a..94bd4c2 100644
--- a/arch/nds32/include/asm/global_data.h
+++ b/arch/nds32/include/asm/global_data.h
@@ -39,8 +39,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set CONFIG_GBL_DATA_SIZE > sizeof(gd_t)
  */
 
 typedef	struct global_data {
@@ -67,17 +65,7 @@ typedef	struct global_data {
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM	*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized */
-#define	GD_FLG_SILENT		0x00004	/* Silent mode			*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed	*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted	*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized */
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)	*/
-#define GD_FLG_ENV_READY	0x00080	/* Envs imported into hash table */
+#include <asm-generic/global_data_flags.h>
 
 #ifdef CONFIG_GLOBAL_DATA_NOT_REG10
 extern volatile gd_t g_gd;
diff --git a/arch/nios2/include/asm/global_data.h b/arch/nios2/include/asm/global_data.h
index 4b86fbd..3b0d9e6 100644
--- a/arch/nios2/include/asm/global_data.h
+++ b/arch/nios2/include/asm/global_data.h
@@ -44,15 +44,7 @@ typedef	struct	global_data {
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 } gd_t;
 
-/* flags */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
+#include <asm-generic/global_data_flags.h>
 
 #define DECLARE_GLOBAL_DATA_PTR     register gd_t *gd asm ("gp")
 
diff --git a/arch/powerpc/include/asm/global_data.h b/arch/powerpc/include/asm/global_data.h
index 01f1d4a..5a5877f 100644
--- a/arch/powerpc/include/asm/global_data.h
+++ b/arch/powerpc/include/asm/global_data.h
@@ -33,8 +33,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 
 typedef	struct	global_data {
@@ -186,17 +184,7 @@ typedef	struct	global_data {
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
+#include <asm-generic/global_data_flags.h>
 
 #if 1
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r2")
diff --git a/arch/sandbox/include/asm/global_data.h b/arch/sandbox/include/asm/global_data.h
index 8d47191..64d6ddc 100644
--- a/arch/sandbox/include/asm/global_data.h
+++ b/arch/sandbox/include/asm/global_data.h
@@ -31,8 +31,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 
 typedef	struct global_data {
@@ -49,17 +47,7 @@ typedef	struct global_data {
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM */
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized */
-#define	GD_FLG_SILENT		0x00004	/* Silent mode */
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed */
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted */
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized */
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out) */
-#define GD_FLG_ENV_READY	0x00080	/* Env. imported into hash table */
+#include <asm-generic/global_data_flags.h>
 
 #define DECLARE_GLOBAL_DATA_PTR     extern gd_t *gd
 
diff --git a/arch/sh/include/asm/global_data.h b/arch/sh/include/asm/global_data.h
index 1b782fc..6e534ad 100644
--- a/arch/sh/include/asm/global_data.h
+++ b/arch/sh/include/asm/global_data.h
@@ -44,14 +44,7 @@ typedef	struct global_data
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 } gd_t;
 
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
+#include <asm-generic/global_data_flags.h>
 
 #define DECLARE_GLOBAL_DATA_PTR	register gd_t *gd asm ("r13")
 
diff --git a/arch/sparc/include/asm/global_data.h b/arch/sparc/include/asm/global_data.h
index 613e2d8..93d3cc0 100644
--- a/arch/sparc/include/asm/global_data.h
+++ b/arch/sparc/include/asm/global_data.h
@@ -35,8 +35,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 
 typedef struct global_data {
@@ -78,17 +76,7 @@ typedef struct global_data {
 	char	env_buf[32];		/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
+#include <asm-generic/global_data_flags.h>
 
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("%g7")
 
diff --git a/arch/x86/include/asm/global_data.h b/arch/x86/include/asm/global_data.h
index f177a4f..2b8a2ed 100644
--- a/arch/x86/include/asm/global_data.h
+++ b/arch/x86/include/asm/global_data.h
@@ -29,8 +29,6 @@
  * some locked parts of the data cache) to allow for a minimum set of
  * global variables during system initialization (until we have set
  * up the memory controller so that we can use RAM).
- *
- * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t)
  */
 
 #ifndef __ASSEMBLY__
@@ -80,19 +78,7 @@ extern gd_t *gd;
 
 #define GD_SIZE		15
 
-/*
- * Global Data Flags
- */
-#define	GD_FLG_RELOC		0x00001	/* Code was relocated to RAM		*/
-#define	GD_FLG_DEVINIT		0x00002	/* Devices have been initialized	*/
-#define	GD_FLG_SILENT		0x00004	/* Silent mode				*/
-#define	GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed		*/
-#define	GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted		*/
-#define	GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized	*/
-#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out)		*/
-#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table	*/
-#define GD_FLG_COLD_BOOT	0x00100	/* Cold Boot */
-#define GD_FLG_WARM_BOOT	0x00200	/* Warm Boot */
+#include <asm-generic/global_data_flags.h>
 
 #if 0
 #define DECLARE_GLOBAL_DATA_PTR
diff --git a/include/asm-generic/global_data_flags.h b/include/asm-generic/global_data_flags.h
new file mode 100644
index 0000000..ee4ddb7
--- /dev/null
+++ b/include/asm-generic/global_data_flags.h
@@ -0,0 +1,33 @@
+/*
+ * transitional header until we merge global_data.h
+ *
+ * (C) Copyright 2000-2010
+ * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+ *
+ * Licensed under the GPL-2 or later.
+ */
+
+#ifndef	__ASM_GENERIC_GLOBAL_DATA_FLAGS_H
+#define __ASM_GENERIC_GLOBAL_DATA_FLAGS_H
+
+/*
+ * Global Data Flags
+ */
+#define GD_FLG_RELOC		0x00001	/* Code was relocated to RAM */
+#define GD_FLG_DEVINIT		0x00002	/* Devices have been initialized */
+#define GD_FLG_SILENT		0x00004	/* Silent mode */
+#define GD_FLG_POSTFAIL		0x00008	/* Critical POST test failed */
+#define GD_FLG_POSTSTOP		0x00010	/* POST seqeunce aborted */
+#define GD_FLG_LOGINIT		0x00020	/* Log Buffer has been initialized */
+#define GD_FLG_DISABLE_CONSOLE	0x00040	/* Disable console (in & out) */
+#define GD_FLG_ENV_READY	0x00080	/* Environment imported into hash table */
+
+/*
+ * Base for arches to start adding their own:
+ * #define GD_FLG_FOO	(GD_FLG_ARCH_BASE << 0)
+ * #define GD_FLG_BAR	(GD_FLG_ARCH_BASE << 1)
+ * #define GD_FLG_COW	(GD_FLG_ARCH_BASE << 2)
+ */
+#define GD_FLG_ARCH_BASE	0x00100
+
+#endif
-- 
1.7.6.1



More information about the U-Boot mailing list