public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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

  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