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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.