
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@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