From 0e15ddd11f1a84c465e434eb051d2ef08ef02b9b Mon Sep 17 00:00:00 2001
From: Yuri Tikhonov <yur@emcraft.com>
Date: Thu, 8 May 2008 15:46:42 +0200
Subject: [PATCH] POST: replace the LOGBUFF_INITIALIZED flag in
 gd->post_log_word (1 << 31) with the GD_FLG_LOGINIT flag in gd->flags.

This way we become able to utilize the full post_log_word for POST
activities (overwise, POST ECC, which has 0x8000 ID, could be
erroneously treated as started in post_output_backlog() even if there
was actually no POST ECC run (because of OCM POST failure, for
example).

Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
---
 common/cmd_log.c                     | 4 ++--
 include/asm-arm/global_data.h        | 1 +
 include/asm-avr32/global_data.h      | 1 +
 include/asm-blackfin/global_data.h   | 1 +
 include/asm-i386/global_data.h       | 1 +
 include/asm-m68k/global_data.h       | 1 +
 include/asm-microblaze/global_data.h | 1 +
 include/asm-mips/global_data.h       | 1 +
 include/asm-nios/global_data.h       | 1 +
 include/asm-nios2/global_data.h      | 1 +
 include/asm-ppc/global_data.h        | 1 +
 include/asm-sh/global_data.h         | 1 +
 include/asm-sparc/global_data.h      | 1 +
 include/logbuff.h                    | 2 --
 14 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/common/cmd_log.c b/common/cmd_log.c
index b9f9ba0342..c6e72ac3c0 100644
--- a/common/cmd_log.c
+++ b/common/cmd_log.c
@@ -107,7 +107,7 @@ void logbuff_init_ptrs (void)
 	if ((s = getenv ("loglevel")) != NULL)
 		console_loglevel = (int)simple_strtoul (s, NULL, 10);
 
-	gd->post_log_word |= LOGBUFF_INITIALIZED;
+	gd->flags |= GD_FLG_LOGINIT;
 }
 
 void logbuff_reset (void)
@@ -168,7 +168,7 @@ static void logbuff_puts (const char *s)
 
 void logbuff_log(char *msg)
 {
-	if ((gd->post_log_word & LOGBUFF_INITIALIZED)) {
+	if ((gd->flags & GD_FLG_LOGINIT)) {
 		logbuff_printk (msg);
 	} else {
 		/* Can happen only for pre-relocated errors as logging */
diff --git a/include/asm-arm/global_data.h b/include/asm-arm/global_data.h
index b470d04072..7564ff1469 100644
--- a/include/asm-arm/global_data.h
+++ b/include/asm-arm/global_data.h
@@ -62,6 +62,7 @@ typedef	struct	global_data {
 #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 DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r8")
 
diff --git a/include/asm-avr32/global_data.h b/include/asm-avr32/global_data.h
index 1863b6a4f1..007cfe4e7e 100644
--- a/include/asm-avr32/global_data.h
+++ b/include/asm-avr32/global_data.h
@@ -53,6 +53,7 @@ typedef	struct	global_data {
 #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 Buf has been initialized	 */
 
 #define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm("r5")
 
diff --git a/include/asm-blackfin/global_data.h b/include/asm-blackfin/global_data.h
index 8d283cfeca..4c88639623 100644
--- a/include/asm-blackfin/global_data.h
+++ b/include/asm-blackfin/global_data.h
@@ -63,6 +63,7 @@ typedef struct global_data {
 #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 Buf has been initialized	 */
 
 #define DECLARE_GLOBAL_DATA_PTR     register gd_t * volatile gd asm ("P5")
 
diff --git a/include/asm-i386/global_data.h b/include/asm-i386/global_data.h
index be41b13c33..3235063995 100644
--- a/include/asm-i386/global_data.h
+++ b/include/asm-i386/global_data.h
@@ -56,6 +56,7 @@ typedef	struct {
 #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	*/
 
 extern gd_t *global_data;
 
diff --git a/include/asm-m68k/global_data.h b/include/asm-m68k/global_data.h
index 05191c790a..7377d313db 100644
--- a/include/asm-m68k/global_data.h
+++ b/include/asm-m68k/global_data.h
@@ -74,6 +74,7 @@ typedef	struct	global_data {
 #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	*/
 
 #if 0
 extern gd_t *global_data;
diff --git a/include/asm-microblaze/global_data.h b/include/asm-microblaze/global_data.h
index e7a8c20204..376786fca9 100644
--- a/include/asm-microblaze/global_data.h
+++ b/include/asm-microblaze/global_data.h
@@ -54,6 +54,7 @@ typedef	struct	global_data {
 #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 DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r31")
 
diff --git a/include/asm-mips/global_data.h b/include/asm-mips/global_data.h
index e7b28538d2..0c0ba50f42 100644
--- a/include/asm-mips/global_data.h
+++ b/include/asm-mips/global_data.h
@@ -56,6 +56,7 @@ typedef	struct	global_data {
 #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 Buf has been initialized	 */
 
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("k0")
 
diff --git a/include/asm-nios/global_data.h b/include/asm-nios/global_data.h
index bceb417641..a8cc987893 100644
--- a/include/asm-nios/global_data.h
+++ b/include/asm-nios/global_data.h
@@ -47,6 +47,7 @@ typedef	struct	global_data {
 #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 DECLARE_GLOBAL_DATA_PTR     register gd_t *gd asm ("%g7")
 
diff --git a/include/asm-nios2/global_data.h b/include/asm-nios2/global_data.h
index 0e72359733..729048917b 100644
--- a/include/asm-nios2/global_data.h
+++ b/include/asm-nios2/global_data.h
@@ -46,6 +46,7 @@ typedef	struct	global_data {
 #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 DECLARE_GLOBAL_DATA_PTR     register gd_t *gd asm ("r15")
 
diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h
index 341a3bd947..ea702662f8 100644
--- a/include/asm-ppc/global_data.h
+++ b/include/asm-ppc/global_data.h
@@ -169,6 +169,7 @@ typedef	struct	global_data {
 #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	*/
 
 #if 1
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r2")
diff --git a/include/asm-sh/global_data.h b/include/asm-sh/global_data.h
index 3bfbdb00bf..69af24a770 100644
--- a/include/asm-sh/global_data.h
+++ b/include/asm-sh/global_data.h
@@ -46,6 +46,7 @@ typedef	struct global_data
 #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 DECLARE_GLOBAL_DATA_PTR	register gd_t *gd asm ("r13")
 
diff --git a/include/asm-sparc/global_data.h b/include/asm-sparc/global_data.h
index e3ef679c58..de2c84b22b 100644
--- a/include/asm-sparc/global_data.h
+++ b/include/asm-sparc/global_data.h
@@ -81,6 +81,7 @@ typedef struct global_data {
 #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 DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("%g7")
 
diff --git a/include/logbuff.h b/include/logbuff.h
index d415729053..d06d208844 100644
--- a/include/logbuff.h
+++ b/include/logbuff.h
@@ -31,8 +31,6 @@
 #define LOGBUFF_OVERHEAD (4096) /* Logbuffer overhead for extra info */
 #define LOGBUFF_RESERVE (LOGBUFF_LEN+LOGBUFF_OVERHEAD)
 
-#define LOGBUFF_INITIALIZED	(1<<31)
-
 /* The mapping used here has to be the same as in setup_ext_logbuff ()
    in linux/kernel/printk */
 
-- 
GitLab