X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fcmd_log.c;h=3653fe1a1ef914cb6a52b50960fe9bd22e554d47;hb=98cecb610f3fa53aa7d825a634d35ef9cf6c5487;hp=b9f9ba03428fe2c7d35dff7b6ae2a2b2880c9374;hpb=248b7d984cffa3107b5acb4c3f5501b7538d877a;p=u-boot diff --git a/common/cmd_log.c b/common/cmd_log.c index b9f9ba0342..3653fe1a1e 100644 --- a/common/cmd_log.c +++ b/common/cmd_log.c @@ -42,7 +42,7 @@ #include #include -#include +#include #include #include @@ -66,6 +66,12 @@ static logbuff_t *log; #endif static char *lbuf; +unsigned long __logbuffer_base(void) +{ + return CONFIG_SYS_SDRAM_BASE + gd->bd->bi_memsize - LOGBUFF_LEN; +} +unsigned long logbuffer_base (void) __attribute__((weak, alias("__logbuffer_base"))); + void logbuff_init_ptrs (void) { unsigned long tag, post_word; @@ -75,7 +81,7 @@ void logbuff_init_ptrs (void) log = (logbuff_t *)CONFIG_ALT_LH_ADDR; lbuf = (char *)CONFIG_ALT_LB_ADDR; #else - log = (logbuff_t *)(gd->bd->bi_memsize-LOGBUFF_LEN) - 1; + log = (logbuff_t *)(logbuffer_base ()) - 1; lbuf = (char *)log->buf; #endif @@ -107,7 +113,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) @@ -136,7 +142,7 @@ void logbuff_reset (void) int drv_logbuff_init (void) { - device_t logdev; + struct stdio_dev logdev; int rc; /* Device initialization */ @@ -148,7 +154,7 @@ int drv_logbuff_init (void) logdev.putc = logbuff_putc; /* 'putc' function */ logdev.puts = logbuff_puts; /* 'puts' function */ - rc = device_register (&logdev); + rc = stdio_register (&logdev); return (rc == 0) ? 1 : rc; } @@ -168,7 +174,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 */ @@ -235,22 +241,22 @@ int do_log (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) } return 0; } - printf ("Usage:\n%s\n", cmdtp->usage); + cmd_usage(cmdtp); return 1; default: - printf ("Usage:\n%s\n", cmdtp->usage); + cmd_usage(cmdtp); return 1; } } U_BOOT_CMD( log, 255, 1, do_log, - "log - manipulate logbuffer\n", + "manipulate logbuffer", "info - show pointer details\n" "log reset - clear contents\n" "log show - show contents\n" - "log append - append to the logbuffer\n" + "log append - append to the logbuffer" ); static int logbuff_printk(const char *line)