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:
parent
98af879976
commit
8f92558414
17
README
17
README
|
@ -832,23 +832,6 @@ The following options need to be configured:
|
|||
must be defined, to setup the maximum idle timeout for
|
||||
the SMC.
|
||||
|
||||
- Pre-Console Buffer:
|
||||
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 of size CONFIG_PRE_CON_BUF_SZ
|
||||
bytes located at CONFIG_PRE_CON_BUF_ADDR. The buffer is
|
||||
a circular buffer, so if more than CONFIG_PRE_CON_BUF_SZ
|
||||
bytes are output before the console is initialised, the
|
||||
earlier bytes are discarded.
|
||||
|
||||
Note that when printing the buffer a copy is made on the
|
||||
stack so CONFIG_PRE_CON_BUF_SZ must fit on the stack.
|
||||
|
||||
'Sane' compilers will generate smaller code if
|
||||
CONFIG_PRE_CON_BUF_SZ is a power of 2
|
||||
|
||||
- Autoboot Command:
|
||||
CONFIG_BOOTCOMMAND
|
||||
Only needed when CONFIG_BOOTDELAY is enabled;
|
||||
|
|
|
@ -3,6 +3,9 @@ if ARCH_SUNXI
|
|||
config IDENT_STRING
|
||||
default " Allwinner Technology"
|
||||
|
||||
config PRE_CONSOLE_BUFFER
|
||||
default y
|
||||
|
||||
config SPL_GPIO_SUPPORT
|
||||
default y
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_MX6=y
|
||||
CONFIG_TARGET_TBS2910=y
|
||||
CONFIG_PRE_CONSOLE_BUFFER=y
|
||||
CONFIG_PRE_CON_BUF_ADDR=0x7c000000
|
||||
CONFIG_FIT=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
CONFIG_HUSH_PARSER=y
|
||||
|
|
|
@ -45,7 +45,7 @@ typedef struct global_data {
|
|||
unsigned long board_type;
|
||||
#endif
|
||||
unsigned long have_console; /* serial_init() was called */
|
||||
#ifdef CONFIG_PRE_CONSOLE_BUFFER
|
||||
#if CONFIG_IS_ENABLED(PRE_CONSOLE_BUFFER)
|
||||
unsigned long precon_buf_idx; /* Pre-Console buffer index */
|
||||
#endif
|
||||
unsigned long env_addr; /* Address of Environment struct */
|
||||
|
|
|
@ -68,7 +68,6 @@
|
|||
#define CONFIG_SYS_SDRAM_BASE 0x20000000
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* default load address */
|
||||
#define CONFIG_SYS_TEXT_BASE 0x2a000000
|
||||
#define CONFIG_PRE_CON_BUF_ADDR 0x2f000000
|
||||
/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
|
||||
* since it needs to fit in with the other values. By also #defining it
|
||||
* we get warnings if the Kconfig value mismatches. */
|
||||
|
@ -79,7 +78,6 @@
|
|||
#define CONFIG_SYS_SDRAM_BASE 0x40000000
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x42000000 /* default load address */
|
||||
#define CONFIG_SYS_TEXT_BASE 0x4a000000
|
||||
#define CONFIG_PRE_CON_BUF_ADDR 0x4f000000
|
||||
/* Note SPL_STACK_R_ADDR is set through Kconfig, we include it here
|
||||
* since it needs to fit in with the other values. By also #defining it
|
||||
* we get warnings if the Kconfig value mismatches. */
|
||||
|
@ -371,10 +369,6 @@ extern int soft_i2c_gpio_scl;
|
|||
#ifndef CONFIG_SPL_BUILD
|
||||
#include <config_distro_defaults.h>
|
||||
|
||||
/* Enable pre-console buffer to get complete log on the VGA console */
|
||||
#define CONFIG_PRE_CONSOLE_BUFFER
|
||||
#define CONFIG_PRE_CON_BUF_SZ 4096 /* Aprox 2 80*25 screens */
|
||||
|
||||
#ifdef CONFIG_ARM64
|
||||
/*
|
||||
* Boards seem to come with at least 512MB of DRAM.
|
||||
|
|
|
@ -50,10 +50,6 @@
|
|||
#define CONFIG_CONSOLE_MUX
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
|
||||
#define CONFIG_PRE_CONSOLE_BUFFER
|
||||
#define CONFIG_PRE_CON_BUF_SZ 4096
|
||||
#define CONFIG_PRE_CON_BUF_ADDR 0x7C000000
|
||||
|
||||
/* *** Command definition *** */
|
||||
#define CONFIG_CMD_BMODE
|
||||
#define CONFIG_CMD_PART
|
||||
|
|
|
@ -3719,9 +3719,6 @@ CONFIG_PQ_MDS_PIB
|
|||
CONFIG_PQ_MDS_PIB_ATM
|
||||
CONFIG_PRAM
|
||||
CONFIG_PREBOOT
|
||||
CONFIG_PRE_CONSOLE_BUFFER
|
||||
CONFIG_PRE_CON_BUF_ADDR
|
||||
CONFIG_PRE_CON_BUF_SZ
|
||||
CONFIG_PRIMEVIEW_V16C6448AC
|
||||
CONFIG_PRINTK
|
||||
CONFIG_PROC_FS
|
||||
|
|
Loading…
Reference in New Issue