diff options
author | Simon Glass <sjg@chromium.org> | 2012-03-20 08:59:14 +0400 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2012-03-24 00:27:32 +0400 |
commit | 3fa4977a9ec7a2e1c7f8c098cbd857dec13936d1 (patch) | |
tree | 9580fc69fc33278d739e5422eb2fce3963355b06 | |
parent | 9692fd0f70258709e880ce9b75ef1b2dab55e75a (diff) | |
download | u-boot-3fa4977a9ec7a2e1c7f8c098cbd857dec13936d1.tar.xz |
Revert "Add board_pre_console_putc to deal with early console output"
This reverts commit 295d3942b806552503243f5cfb36aec6f1b5a9bf.
It turns that this really doesn't work very nicely. Instead we should
have a pre-console panic function so that we know that further execution
is impossible and we don't need to worry about trampling on UARTs, etc.
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Wolfgang Denk <wd@denx.de>
-rw-r--r-- | README | 17 | ||||
-rw-r--r-- | common/console.c | 10 | ||||
-rw-r--r-- | include/common.h | 7 |
3 files changed, 1 insertions, 33 deletions
@@ -644,23 +644,6 @@ The following options need to be configured: 'Sane' compilers will generate smaller code if CONFIG_PRE_CON_BUF_SZ is a power of 2 -- Pre-console putc(): - Prior to the console being initialised, console output is - normally silently discarded. This can be annoying if a - panic() happens in this time. - - If the CONFIG_PRE_CONSOLE_PUTC option is defined, then - U-Boot will call board_pre_console_putc() for each output - character in this case, This function should try to output - the character if possible, perhaps on all available UARTs - (it will need to do this directly, since the console code - is not functional yet). Note that if the panic happens - early enough, then it is possible that board_init_f() - (or even arch_cpu_init() on ARM) has not been called yet. - You should init all clocks, GPIOs, etc. that are needed - to get the character out. Baud rates will need to default - to something sensible. - - Safe printf() functions Define CONFIG_SYS_VSNPRINTF to compile in safe versions of the printf() functions. These are defined in diff --git a/common/console.c b/common/console.c index 1d9fd7ff42..1177f7d396 100644 --- a/common/console.c +++ b/common/console.c @@ -329,19 +329,14 @@ int tstc(void) return serial_tstc(); } -#if defined(CONFIG_PRE_CONSOLE_BUFFER) || defined(CONFIG_PRE_CONSOLE_PUTC) +#ifdef CONFIG_PRE_CONSOLE_BUFFER #define CIRC_BUF_IDX(idx) ((idx) % (unsigned long)CONFIG_PRE_CON_BUF_SZ) static void pre_console_putc(const char c) { -#ifdef CONFIG_PRE_CONSOLE_BUFFER char *buffer = (char *)CONFIG_PRE_CON_BUF_ADDR; buffer[CIRC_BUF_IDX(gd->precon_buf_idx++)] = c; -#endif -#ifdef CONFIG_PRE_CONSOLE_PUTC - board_pre_console_putc(c); -#endif } static void pre_console_puts(const char *s) @@ -352,7 +347,6 @@ static void pre_console_puts(const char *s) static void print_pre_console_buffer(void) { -#ifdef CONFIG_PRE_CONSOLE_BUFFER unsigned long i = 0; char *buffer = (char *)CONFIG_PRE_CON_BUF_ADDR; @@ -361,9 +355,7 @@ static void print_pre_console_buffer(void) while (i < gd->precon_buf_idx) putc(buffer[CIRC_BUF_IDX(i++)]); -#endif } - #else static inline void pre_console_putc(const char c) {} static inline void pre_console_puts(const char *s) {} diff --git a/include/common.h b/include/common.h index 85eaa77aaf..74d97046a0 100644 --- a/include/common.h +++ b/include/common.h @@ -291,13 +291,6 @@ int mac_read_from_eeprom(void); extern u8 _binary_dt_dtb_start[]; /* embedded device tree blob */ int set_cpu_clk_info(void); -/* - * Called when console output is requested before the console is available. - * The board should do its best to get the character out to the user any way - * it can. - */ -void board_pre_console_putc(int ch); - /* common/flash.c */ void flash_perror (int); |