From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 03/29] Convert CONSOLE_PRE_CONSOLE_BUFFER options to Kconfig
Date: Fri, 30 Sep 2016 06:43:24 +0200 [thread overview]
Message-ID: <57EDED6C.8060200@denx.de> (raw)
In-Reply-To: <1475180609-14716-4-git-send-email-sjg@chromium.org>
Hello Simon,
Am 29.09.2016 um 22:23 schrieb Simon Glass:
> Move these option to Kconfig and tidy up existing uses.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> Changes in v3: None
> Changes in v2:
> - Change CONFIG_PRE_CON_BUF_SZ default to 4096
> - Change CONFIG_PRE_CON_BUF_SZ to 'int' type
> - Drop the depend clause on the CONFIG_PRE_CON_BUF_SZ default
> - Move CONFIG_PRE_CON_BUF_ADDR default to common/Kconfig
>
> README | 17 ----------------
> board/sunxi/Kconfig | 3 +++
> common/Kconfig | 42 +++++++++++++++++++++++++++++++++++++++
> common/console.c | 6 +++---
> configs/tbs2910_defconfig | 2 ++
> include/asm-generic/global_data.h | 2 +-
> include/configs/sunxi-common.h | 6 ------
> include/configs/tbs2910.h | 4 ----
> scripts/config_whitelist.txt | 3 ---
> 9 files changed, 51 insertions(+), 34 deletions(-)
Reviewed-by: Heiko Schocher <hs@denx.de>
bye,
Heiko
>
> diff --git a/README b/README
> index 0a1f3fe..8f93dad 100644
> --- a/README
> +++ b/README
> @@ -872,23 +872,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;
> diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
> index b139d1c..c0ffeb3 100644
> --- a/board/sunxi/Kconfig
> +++ b/board/sunxi/Kconfig
> @@ -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
>
> diff --git a/common/Kconfig b/common/Kconfig
> index bbd5633..6ee67ac 100644
> --- a/common/Kconfig
> +++ b/common/Kconfig
> @@ -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
> diff --git a/common/console.c b/common/console.c
> index 12293f3..31a9b3e 100644
> --- a/common/console.c
> +++ b/common/console.c
> @@ -201,7 +201,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;
> @@ -247,7 +247,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)
> @@ -413,7 +413,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)
> diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig
> index fbff9fe..0871408 100644
> --- a/configs/tbs2910_defconfig
> +++ b/configs/tbs2910_defconfig
> @@ -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
> diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
> index dc4cbdb..e02863d 100644
> --- a/include/asm-generic/global_data.h
> +++ b/include/asm-generic/global_data.h
> @@ -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 */
> diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
> index d261fb3..c604ce2 100644
> --- a/include/configs/sunxi-common.h
> +++ b/include/configs/sunxi-common.h
> @@ -69,7 +69,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. */
> @@ -80,7 +79,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. */
> @@ -373,10 +371,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.
> diff --git a/include/configs/tbs2910.h b/include/configs/tbs2910.h
> index 85501bc..ddd53dd 100644
> --- a/include/configs/tbs2910.h
> +++ b/include/configs/tbs2910.h
> @@ -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
>
> diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
> index 9e2f00d..7a69be5 100644
> --- a/scripts/config_whitelist.txt
> +++ b/scripts/config_whitelist.txt
> @@ -3728,9 +3728,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
>
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
next prev parent reply other threads:[~2016-09-30 4:43 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-29 20:22 [U-Boot] [PATCH v3 00/29] Kconfig: Move console options to Kconfig Simon Glass
2016-09-29 20:23 ` [U-Boot] [PATCH v3 01/29] Remove some merge markers Simon Glass
2016-09-30 4:39 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 02/29] Convert SILENT_CONSOLE options to Kconfig Simon Glass
2016-09-30 4:41 ` Heiko Schocher
2016-10-01 2:38 ` Tom Rini
2016-09-29 20:23 ` [U-Boot] [PATCH v3 03/29] Convert CONSOLE_PRE_CONSOLE_BUFFER " Simon Glass
2016-09-30 4:43 ` Heiko Schocher [this message]
2016-09-30 6:00 ` Siarhei Siamashka
2016-10-01 2:38 ` Tom Rini
2016-10-01 18:46 ` Simon Glass
2016-09-29 20:23 ` [U-Boot] [PATCH v3 04/29] Convert CONFIG_SYS_CONSOLE_IS_IN_ENV et al " Simon Glass
2016-10-01 2:38 ` Tom Rini
2016-09-29 20:23 ` [U-Boot] [PATCH v3 05/29] config: Drop CONFIG_CONSOLE Simon Glass
2016-09-30 4:44 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 06/29] config: Drop CONFIG_CONSOLE_DEV Simon Glass
2016-09-30 4:46 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 07/29] Convert CONFIG_VIDEO to Kconfig Simon Glass
2016-09-30 4:47 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 08/29] Convert CONFIG_CFB_CONSOLE " Simon Glass
2016-09-30 4:48 ` Heiko Schocher
2016-10-01 2:38 ` Tom Rini
2016-09-29 20:23 ` [U-Boot] [PATCH v3 09/29] Convert CONFIG_CFB_CONSOLE_ANSI " Simon Glass
2016-09-30 4:50 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 10/29] Convert CONFIG_VIDEO_CT69000 " Simon Glass
2016-09-30 5:03 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 11/29] Convert CONFIG_SYS_CONSOLE_BG_COL et al " Simon Glass
2016-09-30 5:04 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 12/29] video: Drop the smiLynxEM driver Simon Glass
2016-09-30 5:05 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 13/29] video: Drop the imx25lcdc driver Simon Glass
2016-09-30 5:05 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 14/29] video: Drop the s3c-fb driver Simon Glass
2016-09-30 5:06 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 15/29] video: Drop the sed13806 driver Simon Glass
2016-09-30 5:06 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 16/29] Convert CONFIG_VGA_AS_SINGLE_DEVICE to Kconfig Simon Glass
2016-09-30 5:07 ` Heiko Schocher
2016-10-01 2:38 ` Tom Rini
2016-09-29 20:23 ` [U-Boot] [PATCH v3 17/29] video: Drop CONFIG_VIDEO_HW_CURSOR Simon Glass
2016-09-30 5:08 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 18/29] Convert CONFIG_VIDEO_SW_CURSOR to Kconfig Simon Glass
2016-09-30 5:11 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 19/29] video: Drop CONFIG_VIDEO_SW_CURSOR Simon Glass
2016-09-29 20:23 ` [U-Boot] [PATCH v3 20/29] Convert CONFIG_CONSOLE_EXTRA_INFO to Kconfig Simon Glass
2016-09-30 5:15 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 21/29] video: Move video_get_info_str() prototype to a header file Simon Glass
2016-09-30 5:19 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 22/29] video: Drop CONFIG_CONSOLE_INFO_QUIET Simon Glass
2016-09-30 5:20 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 23/29] Convert CONFIG_LCD to Kconfig Simon Glass
2016-09-30 5:21 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 24/29] Convert CONFIG_CONSOLE_SCROLL_LINES " Simon Glass
2016-09-29 20:23 ` [U-Boot] [PATCH v3 25/29] Convert CONFIG_SYS_CONSOLE_ENV_OVERWRITE " Simon Glass
2016-09-29 20:23 ` [U-Boot] [PATCH v3 26/29] Convert CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE " Simon Glass
2016-09-30 5:23 ` Heiko Schocher
2016-09-29 20:23 ` [U-Boot] [PATCH v3 27/29] Convert CONFIG_SYS_CONSOLE_INFO_QUIET " Simon Glass
2016-09-30 5:24 ` Heiko Schocher
2016-10-01 2:39 ` Tom Rini
2016-09-29 20:23 ` [U-Boot] [PATCH v3 28/29] Convert CONFIG_USB_KEYBOARD " Simon Glass
2016-10-01 2:38 ` Tom Rini
2016-09-29 20:23 ` [U-Boot] [PATCH v3 29/29] Convert CONFIG_SYS_STDIO_DEREGISTER " Simon Glass
2016-10-01 2:38 ` Tom Rini
2016-10-13 14:02 ` [U-Boot] [PATCH v3 00/29] Kconfig: Move console options " Tom Rini
2016-10-13 14:51 ` Simon Glass
2016-10-13 15:09 ` Tom Rini
[not found] <mailman.1.1475316001.32270.u-boot@lists.denx.de>
2016-10-01 13:54 ` [U-Boot] [PATCH v3 03/29] Convert CONSOLE_PRE_CONSOLE_BUFFER " Soeren Moch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=57EDED6C.8060200@denx.de \
--to=hs@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox