Convert CONSOLE_PRE_CONSOLE_BUFFER options to Kconfig

Move these option to Kconfig and tidy up existing uses.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagan Teki <jteki@openedev.com>
This commit is contained in:
Simon Glass
2016-10-17 20:12:36 -06:00
committed by Tom Rini
parent 98af879976
commit 8f92558414
9 changed files with 51 additions and 34 deletions

View File

@ -246,6 +246,48 @@ config SILENT_CONSOLE_UPDATE_ON_RELOC
(e.g. NAND). This option makes the value of the 'silent'
environment variable take effect at relocation.
config PRE_CONSOLE_BUFFER
bool "Buffer characters before the console is available"
help
Prior to the console being initialised (i.e. serial UART
initialised etc) all console output is silently discarded.
Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to
buffer any console messages prior to the console being
initialised to a buffer. The buffer is a circular buffer, so
if it overflows, earlier output is discarded.
Note that this is not currently supported in SPL. It would be
useful to be able to share the pre-console buffer with SPL.
config PRE_CON_BUF_SZ
int "Sets the size of the pre-console buffer"
depends on PRE_CONSOLE_BUFFER
default 4096
help
The size of the pre-console buffer affects how much console output
can be held before it overflows and starts discarding earlier
output. Normally there is very little output at this early stage,
unless debugging is enabled, so allow enough for ~10 lines of
text.
This is a useful feature if you are using a video console and
want to see the full boot output on the console. Without this
option only the post-relocation output will be displayed.
config PRE_CON_BUF_ADDR
hex "Address of the pre-console buffer"
depends on PRE_CONSOLE_BUFFER
default 0x2f000000 if ARCH_SUNXI && MACH_SUN9I
default 0x4f000000 if ARCH_SUNXI && !MACH_SUN9I
help
This sets the start address of the pre-console buffer. This must
be in available memory and is accessed before relocation and
possibly before DRAM is set up. Therefore choose an address
carefully.
We should consider removing this option and allocating the memory
in board_init_f_init_reserve() instead.
endmenu
config SYS_NO_FLASH

View File

@ -202,7 +202,7 @@ static void console_putc(int file, const char c)
}
}
#ifdef CONFIG_PRE_CONSOLE_BUFFER
#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER)
static void console_puts_noserial(int file, const char *s)
{
int i;
@ -248,7 +248,7 @@ static inline void console_putc(int file, const char c)
stdio_devices[file]->putc(stdio_devices[file], c);
}
#ifdef CONFIG_PRE_CONSOLE_BUFFER
#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER)
static inline void console_puts_noserial(int file, const char *s)
{
if (strcmp(stdio_devices[file]->name, "serial") != 0)
@ -415,7 +415,7 @@ int tstc(void)
#define PRE_CONSOLE_FLUSHPOINT1_SERIAL 0
#define PRE_CONSOLE_FLUSHPOINT2_EVERYTHING_BUT_SERIAL 1
#ifdef CONFIG_PRE_CONSOLE_BUFFER
#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER)
#define CIRC_BUF_IDX(idx) ((idx) % (unsigned long)CONFIG_PRE_CON_BUF_SZ)
static void pre_console_putc(const char c)