From 228f29ac6e0026e596b3a6fbb640118b9944cdd8 Mon Sep 17 00:00:00 2001 From: wdenk Date: Sun, 8 Dec 2002 09:53:23 +0000 Subject: * Improve log buffer code; use "loglevel" to decide which messages to log on the console, too (like in Linux); get rid of "logstart" --- include/asm-ppc/global_data.h | 3 +++ include/cmd_log.h | 3 ++- include/configs/lwmon.h | 5 ----- include/logbuff.h | 8 +++++++- include/post.h | 3 +++ 5 files changed, 15 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h index 34701803ff..c53061b5df 100644 --- a/include/asm-ppc/global_data.h +++ b/include/asm-ppc/global_data.h @@ -68,6 +68,9 @@ typedef struct global_data { #if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) unsigned long fb_base; /* Base address of framebuffer memory */ #endif +#ifdef CONFIG_POST + unsigned long post_log_word; /* Record POST activities */ +#endif #ifdef CONFIG_BOARD_TYPES unsigned long board_type; #endif diff --git a/include/cmd_log.h b/include/cmd_log.h index 809553b242..c879f2f8d5 100644 --- a/include/cmd_log.h +++ b/include/cmd_log.h @@ -33,8 +33,9 @@ #define LOG_BU_MASK ~(LOG_BUF_LEN-1) #define CMD_TBL_LOG MK_CMD_TBL_ENTRY( \ - "log", 3, 3, 1, do_log, \ + "log", 3, 255, 1, do_log, \ "log - manipulate logbuffer\n", \ + "log info - show pointer details\n" \ "log reset - clear contents\n" \ "log show - show contents\n" \ "log append - append to the logbuffer\n" \ diff --git a/include/configs/lwmon.h b/include/configs/lwmon.h index 53667c049c..587de2dd08 100644 --- a/include/configs/lwmon.h +++ b/include/configs/lwmon.h @@ -31,11 +31,6 @@ /* External logbuffer support */ #define CONFIG_LOGBUFFER -/* Reserve space for the logbuffer */ -#ifdef CONFIG_LOGBUFFER -#define CONFIG_PRAM 20 -#endif - /* * High Level Configuration Options * (easy to change) diff --git a/include/logbuff.h b/include/logbuff.h index 37445096a9..3acfc18a78 100644 --- a/include/logbuff.h +++ b/include/logbuff.h @@ -25,9 +25,15 @@ #ifdef CONFIG_LOGBUFFER -#define LOGBUFF_TEST0 0x01 +#define LOGBUFF_LEN (16384) /* Must be 16k right now */ +#define LOGBUFF_MASK (LOGBUFF_LEN-1) +#define LOGBUFF_OVERHEAD (4096) /* Logbuffer overhead for extra info */ +#define LOGBUFF_RESERVE (LOGBUFF_LEN+LOGBUFF_OVERHEAD) + +#define LOGBUFF_INITIALIZED (1<<31) int drv_logbuff_init (void); +void logbuff_init_ptrs (void); void logbuff_log(char *msg); void logbuff_reset (void); diff --git a/include/post.h b/include/post.h index a6d4016f98..a91baa277a 100644 --- a/include/post.h +++ b/include/post.h @@ -38,6 +38,7 @@ #define POST_RAM 0x0200 /* test runs in RAM */ #define POST_MANUAL 0x0400 /* test runs on diag command */ #define POST_REBOOT 0x0800 /* test may cause rebooting */ +#define POST_PREREL 0x1000 /* test runs before relocation */ #define POST_MEM (POST_RAM | POST_ROM) #define POST_ALWAYS (POST_POWERNORMAL | \ @@ -53,10 +54,12 @@ struct post_test { char *desc; int flags; int (*test) (int flags); + unsigned long testid; }; void post_bootmode_init (void); int post_bootmode_get (unsigned int * last_test); void post_bootmode_clear (void); +void post_output_backlog ( void ); int post_run (char *name, int flags); int post_info (char *name); int post_log (char *format, ...); -- cgit v1.2.3