summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/include/asm/global_data.h1
-rw-r--r--arch/blackfin/include/asm/global_data.h1
-rw-r--r--arch/nios2/include/asm/global_data.h1
-rw-r--r--arch/powerpc/include/asm/global_data.h1
-rw-r--r--arch/sparc/include/asm/global_data.h1
-rw-r--r--post/post.c9
6 files changed, 10 insertions, 4 deletions
diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h
index 1264d3028f..fac98d559a 100644
--- a/arch/arm/include/asm/global_data.h
+++ b/arch/arm/include/asm/global_data.h
@@ -80,6 +80,7 @@ typedef struct global_data {
char env_buf[32]; /* buffer for getenv() before reloc. */
#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
unsigned long post_log_word; /* Record POST activities */
+ unsigned long post_log_res; /* success of POST test */
unsigned long post_init_f_time; /* When post_init_f started */
#endif
} gd_t;
diff --git a/arch/blackfin/include/asm/global_data.h b/arch/blackfin/include/asm/global_data.h
index f7aa71113d..67aa30f04c 100644
--- a/arch/blackfin/include/asm/global_data.h
+++ b/arch/blackfin/include/asm/global_data.h
@@ -53,6 +53,7 @@ typedef struct global_data {
unsigned long env_valid; /* Checksum of Environment valid? */
#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
unsigned long post_log_word; /* Record POST activities */
+ unsigned long post_log_res; /* success of POST test */
unsigned long post_init_f_time; /* When post_init_f started */
#endif
diff --git a/arch/nios2/include/asm/global_data.h b/arch/nios2/include/asm/global_data.h
index d9f06645a3..4b86fbdacf 100644
--- a/arch/nios2/include/asm/global_data.h
+++ b/arch/nios2/include/asm/global_data.h
@@ -37,6 +37,7 @@ typedef struct global_data {
unsigned long env_valid; /* Checksum of Environment valid */
#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
unsigned long post_log_word; /* Record POST activities */
+ unsigned long post_log_res; /* success of POST test */
unsigned long post_init_f_time; /* When post_init_f started */
#endif
void **jt; /* Standalone app jump table */
diff --git a/arch/powerpc/include/asm/global_data.h b/arch/powerpc/include/asm/global_data.h
index 7fcaf384ed..01f1d4acba 100644
--- a/arch/powerpc/include/asm/global_data.h
+++ b/arch/powerpc/include/asm/global_data.h
@@ -163,6 +163,7 @@ typedef struct global_data {
#endif
#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
unsigned long post_log_word; /* Record POST activities */
+ unsigned long post_log_res; /* success of POST test */
unsigned long post_init_f_time; /* When post_init_f started */
#endif
#ifdef CONFIG_BOARD_TYPES
diff --git a/arch/sparc/include/asm/global_data.h b/arch/sparc/include/asm/global_data.h
index a1e4b44aac..613e2d8e0c 100644
--- a/arch/sparc/include/asm/global_data.h
+++ b/arch/sparc/include/asm/global_data.h
@@ -61,6 +61,7 @@ typedef struct global_data {
#endif
#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
unsigned long post_log_word; /* Record POST activities */
+ unsigned long post_log_res; /* success of POST test */
unsigned long post_init_f_time; /* When post_init_f started */
#endif
#ifdef CONFIG_BOARD_TYPES
diff --git a/post/post.c b/post/post.c
index 852d6a5dab..61acf8d5bb 100644
--- a/post/post.c
+++ b/post/post.c
@@ -121,6 +121,7 @@ void post_bootmode_init (void)
/* Reset activity record */
gd->post_log_word = 0;
+ gd->post_log_res = 0;
}
int post_bootmode_get (unsigned int *last_test)
@@ -144,12 +145,12 @@ int post_bootmode_get (unsigned int *last_test)
/* POST tests run before relocation only mark status bits .... */
static void post_log_mark_start ( unsigned long testid )
{
- gd->post_log_word |= (testid)<<16;
+ gd->post_log_word |= testid;
}
static void post_log_mark_succ ( unsigned long testid )
{
- gd->post_log_word |= testid;
+ gd->post_log_res |= testid;
}
/* ... and the messages are output once we are relocated */
@@ -158,9 +159,9 @@ void post_output_backlog ( void )
int j;
for (j = 0; j < post_list_size; j++) {
- if (gd->post_log_word & (post_list[j].testid<<16)) {
+ if (gd->post_log_word & (post_list[j].testid)) {
post_log ("POST %s ", post_list[j].cmd);
- if (gd->post_log_word & post_list[j].testid)
+ if (gd->post_log_res & post_list[j].testid)
post_log ("PASSED\n");
else {
post_log ("FAILED\n");