Re: [U-Boot] [PATCH v2] global_data: unify global flag defines

2012-03-17 Thread Wolfgang Denk
Dear Mike Frysinger,

In message 1331010031-11171-1-git-send-email-vap...@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 vap...@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: w...@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
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


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

2012-03-05 Thread Mike Frysinger
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 vap...@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)
  */
 
 typedefstruct  global_data {
@@ -86,17 +84,7 @@ typedef  struct  global_data {
 #endif
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#defineGD_FLG_RELOC0x1 /* Code was relocated to RAM
*/
-#defineGD_FLG_DEVINIT  0x2 /* Devices have been 
initialized*/
-#defineGD_FLG_SILENT   0x4 /* Silent mode  
*/
-#defineGD_FLG_POSTFAIL 0x8 /* Critical POST test failed
*/
-#defineGD_FLG_POSTSTOP 0x00010 /* POST seqeunce aborted
*/
-#defineGD_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)
  */
 
 typedefstruct  global_data {
@@ -52,17 +50,7 @@ typedef  struct  global_data {
charenv_buf[32];/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#defineGD_FLG_RELOC0x1 /* Code was relocated to RAM
*/
-#defineGD_FLG_DEVINIT  0x2 /* Devices have been 
initialized*/
-#defineGD_FLG_SILENT   0x4 /* Silent mode  
*/
-#defineGD_FLG_POSTFAIL 0x8 /* Critical POST test failed
*/
-#defineGD_FLG_POSTSTOP 0x00010 /* POST seqeunce aborted
*/
-#defineGD_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 

Re: [U-Boot] [PATCH v2] global_data: unify global flag defines

2011-12-05 Thread Mike Frysinger
On Monday 05 December 2011 00:47:12 Graeme Russ wrote:
 Hi Mike,
 
 On Mon, Dec 5, 2011 at 5:39 PM, Mike Frysinger vap...@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   0x0001
 #define GD_FLG_BOARD_BASE   0x0100
 
 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


signature.asc
Description: This is a digitally signed message part.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2] global_data: unify global flag defines

2011-12-05 Thread Graeme Russ
Hi Mike,

On Dec 6, 2011 3:44 AM, Mike Frysinger vap...@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 vap...@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   0x0001
  #define GD_FLG_BOARD_BASE   0x0100
 
  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
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


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

2011-12-04 Thread Mike Frysinger
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 vap...@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)
  */
 
 typedefstruct  global_data {
@@ -86,17 +84,7 @@ typedef  struct  global_data {
 #endif
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#defineGD_FLG_RELOC0x1 /* Code was relocated to RAM
*/
-#defineGD_FLG_DEVINIT  0x2 /* Devices have been 
initialized*/
-#defineGD_FLG_SILENT   0x4 /* Silent mode  
*/
-#defineGD_FLG_POSTFAIL 0x8 /* Critical POST test failed
*/
-#defineGD_FLG_POSTSTOP 0x00010 /* POST seqeunce aborted
*/
-#defineGD_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)
  */
 
 typedefstruct  global_data {
@@ -52,17 +50,7 @@ typedef  struct  global_data {
charenv_buf[32];/* buffer for getenv() before reloc. */
 } gd_t;
 
-/*
- * Global Data Flags
- */
-#defineGD_FLG_RELOC0x1 /* Code was relocated to RAM
*/
-#defineGD_FLG_DEVINIT  0x2 /* Devices have been 
initialized*/
-#defineGD_FLG_SILENT   0x4 /* Silent mode  
*/
-#defineGD_FLG_POSTFAIL 0x8 /* Critical POST test failed
*/
-#defineGD_FLG_POSTSTOP 0x00010 /* POST seqeunce aborted
*/
-#defineGD_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 {
charenv_buf[32];/* buffer for getenv() before reloc. */
 } gd_t;
 

Re: [U-Boot] [PATCH v2] global_data: unify global flag defines

2011-12-04 Thread Graeme Russ
Hi Mike,

On Mon, Dec 5, 2011 at 2:43 PM, Mike Frysinger vap...@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 vap...@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 000..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, w...@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           0x1 /* Code was relocated to RAM */
 +#define GD_FLG_DEVINIT         0x2 /* Devices have been initialized */
 +#define GD_FLG_SILENT          0x4 /* Silent mode */
 +#define GD_FLG_POSTFAIL                0x8 /* 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
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v2] global_data: unify global flag defines

2011-12-04 Thread Graeme Russ
Hi Mike,

On Mon, Dec 5, 2011 at 5:39 PM, Mike Frysinger vap...@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   0x0001
#define GD_FLG_BOARD_BASE   0x0100

Gives us 16 common flags (we have only used 8 so far) 8 arch flags and
8 board flags

Regards,

Graeme
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot