* [U-Boot] [PATCH v2] global_data: unify global flag defines
2011-11-05 17:22 [U-Boot] [PATCH/RFC] global_data: unify global flag defines Mike Frysinger
@ 2011-12-05 3:43 ` Mike Frysinger
2011-12-05 3:47 ` Graeme Russ
2012-03-06 5:00 ` Mike Frysinger
2012-03-19 0:31 ` [U-Boot] [PATCH v3] " Mike Frysinger
2 siblings, 1 reply; 12+ messages in thread
From: Mike Frysinger @ 2011-12-05 3:43 UTC (permalink / raw)
To: u-boot
All the global flag defines are the same across all arches. So unify them
in one place, and add a simple way for arches to extend for their needs.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
v2
- rebased onto head after x86 patch has been merged
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 | 14 ------------
include/asm-generic/global_data_flags.h | 33 +++++++++++++++++++++++++++++
14 files changed, 45 insertions(+), 161 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 05a2139..6a61297 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__
@@ -61,18 +59,6 @@ extern gd_t *gd;
#endif
-/*
- * 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 */
-
#if 0
#define DECLARE_GLOBAL_DATA_PTR
#else
diff --git a/include/asm-generic/global_data_flags.h b/include/asm-generic/global_data_flags.h
new file mode 100644
index 0000000..7003221
--- /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
^ permalink raw reply related [flat|nested] 12+ messages in thread* [U-Boot] [PATCH v2] global_data: unify global flag defines
2011-12-05 3:43 ` [U-Boot] [PATCH v2] " Mike Frysinger
@ 2011-12-05 3:47 ` Graeme Russ
2011-12-05 6:39 ` Mike Frysinger
0 siblings, 1 reply; 12+ messages in thread
From: Graeme Russ @ 2011-12-05 3:47 UTC (permalink / raw)
To: u-boot
Hi Mike,
On Mon, Dec 5, 2011 at 2:43 PM, Mike Frysinger <vapier@gentoo.org> wrote:
> All the global flag defines are the same across all arches. ?So unify them
> in one place, and add a simple way for arches to extend for their needs.
>
> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
> ---
> v2
> ? ? ? ?- rebased onto head after x86 patch has been merged
>
> ?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 ? ? ? ?| ? 14 ------------
> ?include/asm-generic/global_data_flags.h ? | ? 33 +++++++++++++++++++++++++++++
> ?14 files changed, 45 insertions(+), 161 deletions(-)
> ?create mode 100644 include/asm-generic/global_data_flags.h
[snip]
> diff --git a/include/asm-generic/global_data_flags.h b/include/asm-generic/global_data_flags.h
> new file mode 100644
> index 0000000..7003221
> --- /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
This doesn't leave any room for new standard flags - flags is a u32,
so why not define the low 16 bits as standard and the high 16 bit as
arch specific - Maybe even split the high 16 bits into low 8 bits for
arch specific, high 8 bits for board specific?
Would make mask / shift / test a lot cleaner
Regards,
Graeme
^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH v2] global_data: unify global flag defines
2011-12-05 3:47 ` Graeme Russ
@ 2011-12-05 6:39 ` Mike Frysinger
2011-12-05 5:47 ` Graeme Russ
0 siblings, 1 reply; 12+ messages in thread
From: Mike Frysinger @ 2011-12-05 6:39 UTC (permalink / raw)
To: u-boot
On Sunday 04 December 2011 22:47:59 Graeme Russ wrote:
> On Mon, Dec 5, 2011 at 2:43 PM, Mike Frysinger wrote:
> > +/*
> > + * 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
>
> This doesn't leave any room for new standard flags - flags is a u32,
> so why not define the low 16 bits as standard and the high 16 bit as
> arch specific - Maybe even split the high 16 bits into low 8 bits for
> arch specific, high 8 bits for board specific?
when we add a new common flag, we simply update GD_FLG_ARCH_BASE. i don't see
the need for this complexity.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20111205/47998562/attachment.pgp>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH v2] global_data: unify global flag defines
2011-12-05 6:39 ` Mike Frysinger
@ 2011-12-05 5:47 ` Graeme Russ
2011-12-05 16:44 ` Mike Frysinger
0 siblings, 1 reply; 12+ messages in thread
From: Graeme Russ @ 2011-12-05 5:47 UTC (permalink / raw)
To: u-boot
Hi Mike,
On Mon, Dec 5, 2011 at 5:39 PM, Mike Frysinger <vapier@gentoo.org> wrote:
> On Sunday 04 December 2011 22:47:59 Graeme Russ wrote:
>> On Mon, Dec 5, 2011 at 2:43 PM, Mike Frysinger wrote:
>> > +/*
>> > + * 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
>>
>> This doesn't leave any room for new standard flags - flags is a u32,
>> so why not define the low 16 bits as standard and the high 16 bit as
>> arch specific - Maybe even split the high 16 bits into low 8 bits for
>> arch specific, high 8 bits for board specific?
>
> when we add a new common flag, we simply update GD_FLG_ARCH_BASE. ?i don't see
> the need for this complexity.
So the flags can change depending on the build - What is the
implication for stand-alone apps (we have gone over the impact of
changing gd before without a 100% concrete conclusion)
And you must rember to update GD_FLG_ARCH_BASE if anyone adds a new
flag - Not immediately obvious (no comments to that effect)
I don't see any complexity in:
#define GD_FLG_ARCH_BASE 0x00010000
#define GD_FLG_BOARD_BASE 0x01000000
Gives us 16 common flags (we have only used 8 so far) 8 arch flags and
8 board flags
Regards,
Graeme
^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH v2] global_data: unify global flag defines
2011-12-05 5:47 ` Graeme Russ
@ 2011-12-05 16:44 ` Mike Frysinger
2011-12-05 20:14 ` Graeme Russ
0 siblings, 1 reply; 12+ messages in thread
From: Mike Frysinger @ 2011-12-05 16:44 UTC (permalink / raw)
To: u-boot
On Monday 05 December 2011 00:47:12 Graeme Russ wrote:
> Hi Mike,
>
> On Mon, Dec 5, 2011 at 5:39 PM, Mike Frysinger <vapier@gentoo.org> wrote:
> > On Sunday 04 December 2011 22:47:59 Graeme Russ wrote:
> >> On Mon, Dec 5, 2011 at 2:43 PM, Mike Frysinger wrote:
> >> > +/*
> >> > + * 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
> >>
> >> This doesn't leave any room for new standard flags - flags is a u32,
> >> so why not define the low 16 bits as standard and the high 16 bit as
> >> arch specific - Maybe even split the high 16 bits into low 8 bits for
> >> arch specific, high 8 bits for board specific?
> >
> > when we add a new common flag, we simply update GD_FLG_ARCH_BASE. i
> > don't see the need for this complexity.
>
> So the flags can change depending on the build - What is the
> implication for stand-alone apps (we have gone over the impact of
> changing gd before without a 100% concrete conclusion)
i did go through the research effort and posted all the details:
http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/114029
but no one responded
> And you must rember to update GD_FLG_ARCH_BASE if anyone adds a new
> flag - Not immediately obvious (no comments to that effect)
i can add a comment
> I don't see any complexity in:
>
> #define GD_FLG_ARCH_BASE 0x00010000
> #define GD_FLG_BOARD_BASE 0x01000000
>
> Gives us 16 common flags (we have only used 8 so far) 8 arch flags and
> 8 board flags
i'm fine with simply adding defines and leaving the rest up to people. but
adding any additional macro code is overkill imo.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20111205/19344ce7/attachment.pgp>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH v2] global_data: unify global flag defines
2011-12-05 16:44 ` Mike Frysinger
@ 2011-12-05 20:14 ` Graeme Russ
0 siblings, 0 replies; 12+ messages in thread
From: Graeme Russ @ 2011-12-05 20:14 UTC (permalink / raw)
To: u-boot
Hi Mike,
On Dec 6, 2011 3:44 AM, "Mike Frysinger" <vapier@gentoo.org> wrote:
>
> On Monday 05 December 2011 00:47:12 Graeme Russ wrote:
> > Hi Mike,
> >
> > On Mon, Dec 5, 2011 at 5:39 PM, Mike Frysinger <vapier@gentoo.org>
wrote:
> > > On Sunday 04 December 2011 22:47:59 Graeme Russ wrote:
> > >> On Mon, Dec 5, 2011 at 2:43 PM, Mike Frysinger wrote:
> > >> > +/*
> > >> > + * 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
> > >>
> > >> This doesn't leave any room for new standard flags - flags is a u32,
> > >> so why not define the low 16 bits as standard and the high 16 bit as
> > >> arch specific - Maybe even split the high 16 bits into low 8 bits for
> > >> arch specific, high 8 bits for board specific?
> > >
> > > when we add a new common flag, we simply update GD_FLG_ARCH_BASE. i
> > > don't see the need for this complexity.
> >
> > So the flags can change depending on the build - What is the
> > implication for stand-alone apps (we have gone over the impact of
> > changing gd before without a 100% concrete conclusion)
>
> i did go through the research effort and posted all the details:
> http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/114029
> but no one responded
>
> > And you must rember to update GD_FLG_ARCH_BASE if anyone adds a new
> > flag - Not immediately obvious (no comments to that effect)
>
> i can add a comment
>
> > I don't see any complexity in:
> >
> > #define GD_FLG_ARCH_BASE 0x00010000
> > #define GD_FLG_BOARD_BASE 0x01000000
> >
> > Gives us 16 common flags (we have only used 8 so far) 8 arch flags and
> > 8 board flags
>
> i'm fine with simply adding defines and leaving the rest up to people.
but
> adding any additional macro code is overkill imo.
To be honest, I would not even bother with the macro or #define.
I would just comment that the low 16 bits are reserved at let arch
maintainters manage the upper 16 bits
Regards,
Graeme
^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH v2] global_data: unify global flag defines
2011-11-05 17:22 [U-Boot] [PATCH/RFC] global_data: unify global flag defines Mike Frysinger
2011-12-05 3:43 ` [U-Boot] [PATCH v2] " Mike Frysinger
@ 2012-03-06 5:00 ` Mike Frysinger
2012-03-17 21:43 ` Wolfgang Denk
2012-03-19 0:31 ` [U-Boot] [PATCH v3] " Mike Frysinger
2 siblings, 1 reply; 12+ messages in thread
From: Mike Frysinger @ 2012-03-06 5:00 UTC (permalink / raw)
To: u-boot
All the global flag defines are the same across all arches. So unify them
in one place, and add a simple way for arches to extend for their needs.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
v2
- rebase onto mainline
- include openrisc
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/openrisc/include/asm/global_data.h | 22 +---------------------
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 | 14 +-------------
include/asm-generic/global_data_flags.h | 28 ++++++++++++++++++++++++++++
15 files changed, 42 insertions(+), 181 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 973ea29..290a9e7 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 volatile gd_t *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/openrisc/include/asm/global_data.h b/arch/openrisc/include/asm/global_data.h
index 36de9d0..6a0c0cc 100644
--- a/arch/openrisc/include/asm/global_data.h
+++ b/arch/openrisc/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 {
@@ -48,25 +46,7 @@ typedef struct global_data {
char env_buf[32]; /* buffer for getenv() before reloc. */
} gd_t;
-/*
- * Global Data Flags
- */
-/* Code was relocated to RAM */
-#define GD_FLG_RELOC 0x00001
-/* Devices have been initialized */
-#define GD_FLG_DEVINIT 0x00002
-/* Silent mode */
-#define GD_FLG_SILENT 0x00004
-/* Critical POST test failed */
-#define GD_FLG_POSTFAIL 0x00008
-/* POST seqeunce aborted */
-#define GD_FLG_POSTSTOP 0x00010
-/* Log Buffer has been initialized */
-#define GD_FLG_LOGINIT 0x00020
-/* Disable console (in & out) */
-#define GD_FLG_DISABLE_CONSOLE 0x00040
-/* Environment imported into hash table */
-#define GD_FLG_ENV_READY 0x00080
+#include <asm-generic/global_data_flags.h>
/* OR32 GCC already has r10 set as fixed-use */
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r10")
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 908a02c..6d29c0b 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__
@@ -74,17 +72,7 @@ static inline gd_t *get_fs_gd_ptr(void)
#endif
-/*
- * 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
diff --git a/include/asm-generic/global_data_flags.h b/include/asm-generic/global_data_flags.h
new file mode 100644
index 0000000..bb57fb6
--- /dev/null
+++ b/include/asm-generic/global_data_flags.h
@@ -0,0 +1,28 @@
+/*
+ * 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
+ *
+ * Note: The low 16 bits are expected for common code. If your arch
+ * really needs to add your own, use the high 16bits.
+ */
+#define GD_FLG_RELOC 0x0001 /* Code was relocated to RAM */
+#define GD_FLG_DEVINIT 0x0002 /* Devices have been initialized */
+#define GD_FLG_SILENT 0x0004 /* Silent mode */
+#define GD_FLG_POSTFAIL 0x0008 /* Critical POST test failed */
+#define GD_FLG_POSTSTOP 0x0010 /* POST seqeunce aborted */
+#define GD_FLG_LOGINIT 0x0020 /* Log Buffer has been initialized */
+#define GD_FLG_DISABLE_CONSOLE 0x0040 /* Disable console (in & out) */
+#define GD_FLG_ENV_READY 0x0080 /* Environment imported into hash table */
+
+#endif
--
1.7.8.4
^ permalink raw reply related [flat|nested] 12+ messages in thread* [U-Boot] [PATCH v2] global_data: unify global flag defines
2012-03-06 5:00 ` Mike Frysinger
@ 2012-03-17 21:43 ` Wolfgang Denk
0 siblings, 0 replies; 12+ messages in thread
From: Wolfgang Denk @ 2012-03-17 21:43 UTC (permalink / raw)
To: u-boot
Dear Mike Frysinger,
In message <1331010031-11171-1-git-send-email-vapier@gentoo.org> you wrote:
> All the global flag defines are the same across all arches. So unify them
> in one place, and add a simple way for arches to extend for their needs.
>
> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
> ---
> v2
> - rebase onto mainline
> - include openrisc
>
> 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/openrisc/include/asm/global_data.h | 22 +---------------------
> 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 | 14 +-------------
> include/asm-generic/global_data_flags.h | 28 ++++++++++++++++++++++++++++
> 15 files changed, 42 insertions(+), 181 deletions(-)
> create mode 100644 include/asm-generic/global_data_flags.h
This does not apply any more. Can you please rebase and resend?
Thanks.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"The combination of a number of things to make existence worthwhile."
"Yes, the philosophy of 'none,' meaning 'all.'"
-- Spock and Lincoln, "The Savage Curtain", stardate 5906.4
^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH v3] global_data: unify global flag defines
2011-11-05 17:22 [U-Boot] [PATCH/RFC] global_data: unify global flag defines Mike Frysinger
2011-12-05 3:43 ` [U-Boot] [PATCH v2] " Mike Frysinger
2012-03-06 5:00 ` Mike Frysinger
@ 2012-03-19 0:31 ` Mike Frysinger
2012-07-20 14:55 ` Mike Frysinger
2012-08-09 19:46 ` Wolfgang Denk
2 siblings, 2 replies; 12+ messages in thread
From: Mike Frysinger @ 2012-03-19 0:31 UTC (permalink / raw)
To: u-boot
All the global flag defines are the same across all arches. So unify them
in one place, and add a simple way for arches to extend for their needs.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
v3
- rebase onto mainline
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/openrisc/include/asm/global_data.h | 22 +---------------------
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 | 14 +-------------
include/asm-generic/global_data_flags.h | 28 ++++++++++++++++++++++++++++
15 files changed, 42 insertions(+), 181 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/openrisc/include/asm/global_data.h b/arch/openrisc/include/asm/global_data.h
index 36de9d0..6a0c0cc 100644
--- a/arch/openrisc/include/asm/global_data.h
+++ b/arch/openrisc/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 {
@@ -48,25 +46,7 @@ typedef struct global_data {
char env_buf[32]; /* buffer for getenv() before reloc. */
} gd_t;
-/*
- * Global Data Flags
- */
-/* Code was relocated to RAM */
-#define GD_FLG_RELOC 0x00001
-/* Devices have been initialized */
-#define GD_FLG_DEVINIT 0x00002
-/* Silent mode */
-#define GD_FLG_SILENT 0x00004
-/* Critical POST test failed */
-#define GD_FLG_POSTFAIL 0x00008
-/* POST seqeunce aborted */
-#define GD_FLG_POSTSTOP 0x00010
-/* Log Buffer has been initialized */
-#define GD_FLG_LOGINIT 0x00020
-/* Disable console (in & out) */
-#define GD_FLG_DISABLE_CONSOLE 0x00040
-/* Environment imported into hash table */
-#define GD_FLG_ENV_READY 0x00080
+#include <asm-generic/global_data_flags.h>
/* OR32 GCC already has r10 set as fixed-use */
#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r10")
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 01a7063..581fd2f 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 {
@@ -50,17 +48,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 908a02c..6d29c0b 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__
@@ -74,17 +72,7 @@ static inline gd_t *get_fs_gd_ptr(void)
#endif
-/*
- * 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
diff --git a/include/asm-generic/global_data_flags.h b/include/asm-generic/global_data_flags.h
new file mode 100644
index 0000000..bb57fb6
--- /dev/null
+++ b/include/asm-generic/global_data_flags.h
@@ -0,0 +1,28 @@
+/*
+ * 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
+ *
+ * Note: The low 16 bits are expected for common code. If your arch
+ * really needs to add your own, use the high 16bits.
+ */
+#define GD_FLG_RELOC 0x0001 /* Code was relocated to RAM */
+#define GD_FLG_DEVINIT 0x0002 /* Devices have been initialized */
+#define GD_FLG_SILENT 0x0004 /* Silent mode */
+#define GD_FLG_POSTFAIL 0x0008 /* Critical POST test failed */
+#define GD_FLG_POSTSTOP 0x0010 /* POST seqeunce aborted */
+#define GD_FLG_LOGINIT 0x0020 /* Log Buffer has been initialized */
+#define GD_FLG_DISABLE_CONSOLE 0x0040 /* Disable console (in & out) */
+#define GD_FLG_ENV_READY 0x0080 /* Environment imported into hash table */
+
+#endif
--
1.7.8.5
^ permalink raw reply related [flat|nested] 12+ messages in thread* [U-Boot] [PATCH v3] global_data: unify global flag defines
2012-03-19 0:31 ` [U-Boot] [PATCH v3] " Mike Frysinger
@ 2012-07-20 14:55 ` Mike Frysinger
2012-08-09 19:46 ` Wolfgang Denk
1 sibling, 0 replies; 12+ messages in thread
From: Mike Frysinger @ 2012-07-20 14:55 UTC (permalink / raw)
To: u-boot
On Sunday 18 March 2012 20:31:24 Mike Frysinger wrote:
> All the global flag defines are the same across all arches. So unify them
> in one place, and add a simple way for arches to extend for their needs.
this one seems to still apply with `git am -3` to mainline ...
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120720/9c1aa232/attachment.pgp>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH v3] global_data: unify global flag defines
2012-03-19 0:31 ` [U-Boot] [PATCH v3] " Mike Frysinger
2012-07-20 14:55 ` Mike Frysinger
@ 2012-08-09 19:46 ` Wolfgang Denk
1 sibling, 0 replies; 12+ messages in thread
From: Wolfgang Denk @ 2012-08-09 19:46 UTC (permalink / raw)
To: u-boot
Dear Mike Frysinger,
In message <1332117084-25486-1-git-send-email-vapier@gentoo.org> you wrote:
> All the global flag defines are the same across all arches. So unify them
> in one place, and add a simple way for arches to extend for their needs.
>
> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
> ---
> v3
> - rebase onto mainline
>
> 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/openrisc/include/asm/global_data.h | 22 +---------------------
> 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 | 14 +-------------
> include/asm-generic/global_data_flags.h | 28 ++++++++++++++++++++++++++++
> 15 files changed, 42 insertions(+), 181 deletions(-)
> create mode 100644 include/asm-generic/global_data_flags.h
Applied, thanks.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Certain old men prefer to rise at dawn, taking a cold bath and a long
walk with an empty stomach and otherwise mortifying the flesh. They
then point with pride to these practices as the cause of their sturdy
health and ripe years; the truth being that they are hearty and old,
not because of their habits, but in spite of them. The reason we find
only robust persons doing this thing is that it has killed all the
others who have tried it. - Ambrose Bierce, "The Devil's Dictionary"
^ permalink raw reply [flat|nested] 12+ messages in thread