spl: Allow tiny printf() to be controlled in SPL and TPL
At present there is only one control for this and it is used for both SPL and TPL. But SPL might have a lot more space than TPL so the extra cost of a full printf() might be acceptable. Split the option into two, providing separate SPL and TPL controls. The TPL setting defaults to the same as SPL. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
535e07846a
commit
27084c03d3
@ -954,7 +954,7 @@ config ARCH_SUNXI
|
|||||||
select USB if DISTRO_DEFAULTS
|
select USB if DISTRO_DEFAULTS
|
||||||
select USB_KEYBOARD if DISTRO_DEFAULTS
|
select USB_KEYBOARD if DISTRO_DEFAULTS
|
||||||
select USB_STORAGE if DISTRO_DEFAULTS
|
select USB_STORAGE if DISTRO_DEFAULTS
|
||||||
select USE_TINY_PRINTF
|
select SPL_USE_TINY_PRINTF
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
imply CMD_GPT
|
imply CMD_GPT
|
||||||
imply CMD_UBI if NAND
|
imply CMD_UBI if NAND
|
||||||
|
@ -11,7 +11,7 @@ config OMAP34XX
|
|||||||
select ARM_ERRATA_454179
|
select ARM_ERRATA_454179
|
||||||
select ARM_ERRATA_621766
|
select ARM_ERRATA_621766
|
||||||
select ARM_ERRATA_725233
|
select ARM_ERRATA_725233
|
||||||
select USE_TINY_PRINTF if SPL
|
select SPL_USE_TINY_PRINTF if SPL
|
||||||
imply NAND_OMAP_GPMC
|
imply NAND_OMAP_GPMC
|
||||||
imply SPL_FS_EXT4
|
imply SPL_FS_EXT4
|
||||||
imply SPL_FS_FAT
|
imply SPL_FS_FAT
|
||||||
@ -31,7 +31,7 @@ config OMAP34XX
|
|||||||
|
|
||||||
config OMAP44XX
|
config OMAP44XX
|
||||||
bool "OMAP44XX SoC"
|
bool "OMAP44XX SoC"
|
||||||
select USE_TINY_PRINTF
|
select SPL_USE_TINY_PRINTF
|
||||||
imply NAND_OMAP_ELM
|
imply NAND_OMAP_ELM
|
||||||
imply NAND_OMAP_GPMC
|
imply NAND_OMAP_GPMC
|
||||||
imply SPL_DISPLAY_PRINT
|
imply SPL_DISPLAY_PRINT
|
||||||
@ -124,7 +124,7 @@ config AM33XX
|
|||||||
imply SPL_NAND_SUPPORT
|
imply SPL_NAND_SUPPORT
|
||||||
imply SYS_I2C_OMAP24XX
|
imply SYS_I2C_OMAP24XX
|
||||||
imply SYS_THUMB_BUILD
|
imply SYS_THUMB_BUILD
|
||||||
imply USE_TINY_PRINTF
|
imply SPL_USE_TINY_PRINTF
|
||||||
help
|
help
|
||||||
Support for AM335x SOC from Texas Instruments.
|
Support for AM335x SOC from Texas Instruments.
|
||||||
The AM335x high performance SOC features a Cortex-A8
|
The AM335x high performance SOC features a Cortex-A8
|
||||||
|
@ -32,7 +32,7 @@ config RCAR_GEN3
|
|||||||
imply SPL_SYS_MALLOC_SIMPLE
|
imply SPL_SYS_MALLOC_SIMPLE
|
||||||
imply SPL_TINY_MEMSET
|
imply SPL_TINY_MEMSET
|
||||||
imply SPL_YMODEM_SUPPORT
|
imply SPL_YMODEM_SUPPORT
|
||||||
imply USE_TINY_PRINTF
|
imply SPL_USE_TINY_PRINTF
|
||||||
|
|
||||||
config RZA1
|
config RZA1
|
||||||
prompt "Renesas ARM SoCs RZ/A1 (32bit)"
|
prompt "Renesas ARM SoCs RZ/A1 (32bit)"
|
||||||
|
@ -65,7 +65,7 @@ config TARGET_GOSE
|
|||||||
select DM_SERIAL
|
select DM_SERIAL
|
||||||
select SPL_TINY_MEMSET
|
select SPL_TINY_MEMSET
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
select USE_TINY_PRINTF
|
select SPL_USE_TINY_PRINTF
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
|
|
||||||
config TARGET_KOELSCH
|
config TARGET_KOELSCH
|
||||||
@ -74,7 +74,7 @@ config TARGET_KOELSCH
|
|||||||
select DM_SERIAL
|
select DM_SERIAL
|
||||||
select SPL_TINY_MEMSET
|
select SPL_TINY_MEMSET
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
select USE_TINY_PRINTF
|
select SPL_USE_TINY_PRINTF
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
|
|
||||||
config TARGET_LAGER
|
config TARGET_LAGER
|
||||||
@ -83,7 +83,7 @@ config TARGET_LAGER
|
|||||||
select DM_SERIAL
|
select DM_SERIAL
|
||||||
select SPL_TINY_MEMSET
|
select SPL_TINY_MEMSET
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
select USE_TINY_PRINTF
|
select SPL_USE_TINY_PRINTF
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
|
|
||||||
config TARGET_KZM9G
|
config TARGET_KZM9G
|
||||||
@ -95,7 +95,7 @@ config TARGET_ALT
|
|||||||
select DM_SERIAL
|
select DM_SERIAL
|
||||||
select SPL_TINY_MEMSET
|
select SPL_TINY_MEMSET
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
select USE_TINY_PRINTF
|
select SPL_USE_TINY_PRINTF
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
|
|
||||||
config TARGET_SILK
|
config TARGET_SILK
|
||||||
@ -104,7 +104,7 @@ config TARGET_SILK
|
|||||||
select DM_SERIAL
|
select DM_SERIAL
|
||||||
select SPL_TINY_MEMSET
|
select SPL_TINY_MEMSET
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
select USE_TINY_PRINTF
|
select SPL_USE_TINY_PRINTF
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
|
|
||||||
config TARGET_PORTER
|
config TARGET_PORTER
|
||||||
@ -113,7 +113,7 @@ config TARGET_PORTER
|
|||||||
select DM_SERIAL
|
select DM_SERIAL
|
||||||
select SPL_TINY_MEMSET
|
select SPL_TINY_MEMSET
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
select USE_TINY_PRINTF
|
select SPL_USE_TINY_PRINTF
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
|
|
||||||
config TARGET_STOUT
|
config TARGET_STOUT
|
||||||
@ -122,7 +122,7 @@ config TARGET_STOUT
|
|||||||
select DM_SERIAL
|
select DM_SERIAL
|
||||||
select SPL_TINY_MEMSET
|
select SPL_TINY_MEMSET
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
select USE_TINY_PRINTF
|
select SPL_USE_TINY_PRINTF
|
||||||
imply CMD_DM
|
imply CMD_DM
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
@ -45,7 +45,7 @@ config TARGET_SOCFPGA_ARRIA10
|
|||||||
select SPL_SYSCON if SPL
|
select SPL_SYSCON if SPL
|
||||||
select ETH_DESIGNWARE_SOCFPGA
|
select ETH_DESIGNWARE_SOCFPGA
|
||||||
imply FPGA_SOCFPGA
|
imply FPGA_SOCFPGA
|
||||||
imply USE_TINY_PRINTF
|
imply SPL_USE_TINY_PRINTF
|
||||||
|
|
||||||
config TARGET_SOCFPGA_CYCLONE5
|
config TARGET_SOCFPGA_CYCLONE5
|
||||||
bool
|
bool
|
||||||
@ -59,7 +59,7 @@ config TARGET_SOCFPGA_GEN5
|
|||||||
imply SPL_SIZE_LIMIT_SUBTRACT_MALLOC
|
imply SPL_SIZE_LIMIT_SUBTRACT_MALLOC
|
||||||
imply SPL_STACK_R
|
imply SPL_STACK_R
|
||||||
imply SPL_SYS_MALLOC_SIMPLE
|
imply SPL_SYS_MALLOC_SIMPLE
|
||||||
imply USE_TINY_PRINTF
|
imply SPL_USE_TINY_PRINTF
|
||||||
|
|
||||||
config TARGET_SOCFPGA_STRATIX10
|
config TARGET_SOCFPGA_STRATIX10
|
||||||
bool
|
bool
|
||||||
|
@ -963,7 +963,7 @@ config SPL_SERIAL_SUPPORT
|
|||||||
for displaying messages while SPL is running. It also brings in
|
for displaying messages while SPL is running. It also brings in
|
||||||
printf() and panic() functions. This should normally be enabled
|
printf() and panic() functions. This should normally be enabled
|
||||||
unless there are space reasons not to. Even then, consider
|
unless there are space reasons not to. Even then, consider
|
||||||
enabling USE_TINY_PRINTF which is a small printf() version.
|
enabling SPL_USE_TINY_PRINTF which is a small printf() version.
|
||||||
|
|
||||||
config SPL_SPI_FLASH_SUPPORT
|
config SPL_SPI_FLASH_SUPPORT
|
||||||
bool "Support SPI flash drivers"
|
bool "Support SPI flash drivers"
|
||||||
|
@ -173,7 +173,7 @@ parse_num (char *s, unsigned long *val, char **es, char *delim)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if defined(DEBUG) && !defined(CONFIG_USE_TINY_PRINTF)
|
#if defined(DEBUG) && !CONFIG_IS_ENABLED(USE_TINY_PRINTF)
|
||||||
/*
|
/*
|
||||||
* Note: this debug setup works by storing the strings in a fixed buffer
|
* Note: this debug setup works by storing the strings in a fixed buffer
|
||||||
*/
|
*/
|
||||||
|
@ -51,5 +51,5 @@ CONFIG_SPL_DM_REGULATOR=y
|
|||||||
CONFIG_DM_REGULATOR_FIXED=y
|
CONFIG_DM_REGULATOR_FIXED=y
|
||||||
CONFIG_DM_REGULATOR_TPS65910=y
|
CONFIG_DM_REGULATOR_TPS65910=y
|
||||||
CONFIG_CONS_INDEX=4
|
CONFIG_CONS_INDEX=4
|
||||||
# CONFIG_USE_TINY_PRINTF is not set
|
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||||
# CONFIG_EFI_LOADER is not set
|
# CONFIG_EFI_LOADER is not set
|
||||||
|
@ -67,7 +67,7 @@ CONFIG_USB=y
|
|||||||
CONFIG_DM_USB=y
|
CONFIG_DM_USB=y
|
||||||
CONFIG_USB_XHCI_HCD=y
|
CONFIG_USB_XHCI_HCD=y
|
||||||
CONFIG_USB_XHCI_DWC3=y
|
CONFIG_USB_XHCI_DWC3=y
|
||||||
# CONFIG_USE_TINY_PRINTF is not set
|
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||||
CONFIG_RSA=y
|
CONFIG_RSA=y
|
||||||
CONFIG_SPL_RSA=y
|
CONFIG_SPL_RSA=y
|
||||||
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
||||||
|
@ -67,5 +67,5 @@ CONFIG_USB=y
|
|||||||
CONFIG_DM_USB=y
|
CONFIG_DM_USB=y
|
||||||
CONFIG_USB_XHCI_HCD=y
|
CONFIG_USB_XHCI_HCD=y
|
||||||
CONFIG_USB_XHCI_DWC3=y
|
CONFIG_USB_XHCI_DWC3=y
|
||||||
# CONFIG_USE_TINY_PRINTF is not set
|
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||||
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
||||||
|
@ -65,7 +65,7 @@ CONFIG_USB=y
|
|||||||
CONFIG_DM_USB=y
|
CONFIG_DM_USB=y
|
||||||
CONFIG_USB_XHCI_HCD=y
|
CONFIG_USB_XHCI_HCD=y
|
||||||
CONFIG_USB_XHCI_DWC3=y
|
CONFIG_USB_XHCI_DWC3=y
|
||||||
# CONFIG_USE_TINY_PRINTF is not set
|
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||||
CONFIG_RSA=y
|
CONFIG_RSA=y
|
||||||
CONFIG_SPL_RSA=y
|
CONFIG_SPL_RSA=y
|
||||||
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
||||||
|
@ -65,5 +65,5 @@ CONFIG_USB=y
|
|||||||
CONFIG_DM_USB=y
|
CONFIG_DM_USB=y
|
||||||
CONFIG_USB_XHCI_HCD=y
|
CONFIG_USB_XHCI_HCD=y
|
||||||
CONFIG_USB_XHCI_DWC3=y
|
CONFIG_USB_XHCI_DWC3=y
|
||||||
# CONFIG_USE_TINY_PRINTF is not set
|
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||||
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
||||||
|
@ -191,7 +191,7 @@ CONFIG_OSD=y
|
|||||||
CONFIG_SANDBOX_OSD=y
|
CONFIG_SANDBOX_OSD=y
|
||||||
CONFIG_FS_CBFS=y
|
CONFIG_FS_CBFS=y
|
||||||
CONFIG_FS_CRAMFS=y
|
CONFIG_FS_CRAMFS=y
|
||||||
# CONFIG_USE_TINY_PRINTF is not set
|
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||||
CONFIG_CMD_DHRYSTONE=y
|
CONFIG_CMD_DHRYSTONE=y
|
||||||
CONFIG_TPM=y
|
CONFIG_TPM=y
|
||||||
CONFIG_LZ4=y
|
CONFIG_LZ4=y
|
||||||
|
@ -294,7 +294,7 @@ int dm_gpio_request(struct gpio_desc *desc, const char *label)
|
|||||||
|
|
||||||
static int dm_gpio_requestf(struct gpio_desc *desc, const char *fmt, ...)
|
static int dm_gpio_requestf(struct gpio_desc *desc, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
#if !defined(CONFIG_SPL_BUILD) || !defined(CONFIG_USE_TINY_PRINTF)
|
#if !defined(CONFIG_SPL_BUILD) || !CONFIG_IS_ENABLED(USE_TINY_PRINTF)
|
||||||
va_list args;
|
va_list args;
|
||||||
char buf[40];
|
char buf[40];
|
||||||
|
|
||||||
@ -343,7 +343,7 @@ int gpio_request(unsigned gpio, const char *label)
|
|||||||
*/
|
*/
|
||||||
int gpio_requestf(unsigned gpio, const char *fmt, ...)
|
int gpio_requestf(unsigned gpio, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
#if !defined(CONFIG_SPL_BUILD) || !defined(CONFIG_USE_TINY_PRINTF)
|
#if !defined(CONFIG_SPL_BUILD) || !CONFIG_IS_ENABLED(USE_TINY_PRINTF)
|
||||||
va_list args;
|
va_list args;
|
||||||
char buf[40];
|
char buf[40];
|
||||||
|
|
||||||
|
@ -2577,7 +2577,7 @@ static int mmc_startup(struct mmc *mmc)
|
|||||||
bdesc->lba = lldiv(mmc->capacity, mmc->read_bl_len);
|
bdesc->lba = lldiv(mmc->capacity, mmc->read_bl_len);
|
||||||
#if !defined(CONFIG_SPL_BUILD) || \
|
#if !defined(CONFIG_SPL_BUILD) || \
|
||||||
(defined(CONFIG_SPL_LIBCOMMON_SUPPORT) && \
|
(defined(CONFIG_SPL_LIBCOMMON_SUPPORT) && \
|
||||||
!defined(CONFIG_USE_TINY_PRINTF))
|
!CONFIG_IS_ENABLED(USE_TINY_PRINTF))
|
||||||
sprintf(bdesc->vendor, "Man %06x Snr %04x%04x",
|
sprintf(bdesc->vendor, "Man %06x Snr %04x%04x",
|
||||||
mmc->cid[0] >> 24, (mmc->cid[2] & 0xffff),
|
mmc->cid[0] >> 24, (mmc->cid[2] & 0xffff),
|
||||||
(mmc->cid[3] >> 16) & 0xffff);
|
(mmc->cid[3] >> 16) & 0xffff);
|
||||||
|
@ -66,7 +66,7 @@ int spi_flash_probe_bus_cs(unsigned int busnum, unsigned int cs,
|
|||||||
char *str;
|
char *str;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_USE_TINY_PRINTF)
|
#if defined(CONFIG_SPL_BUILD) && CONFIG_IS_ENABLED(USE_TINY_PRINTF)
|
||||||
str = "spi_flash";
|
str = "spi_flash";
|
||||||
#else
|
#else
|
||||||
char name[30];
|
char name[30];
|
||||||
|
20
lib/Kconfig
20
lib/Kconfig
@ -40,12 +40,12 @@ config PRINTF
|
|||||||
config SPL_PRINTF
|
config SPL_PRINTF
|
||||||
bool
|
bool
|
||||||
select SPL_SPRINTF
|
select SPL_SPRINTF
|
||||||
select SPL_STRTO if !USE_TINY_PRINTF
|
select SPL_STRTO if !SPL_USE_TINY_PRINTF
|
||||||
|
|
||||||
config TPL_PRINTF
|
config TPL_PRINTF
|
||||||
bool
|
bool
|
||||||
select TPL_SPRINTF
|
select TPL_SPRINTF
|
||||||
select TPL_STRTO if !USE_TINY_PRINTF
|
select TPL_STRTO if !TPL_USE_TINY_PRINTF
|
||||||
|
|
||||||
config SPRINTF
|
config SPRINTF
|
||||||
bool
|
bool
|
||||||
@ -95,9 +95,9 @@ config SYS_HZ
|
|||||||
get_timer() must operate in milliseconds and this option must be
|
get_timer() must operate in milliseconds and this option must be
|
||||||
set to 1000.
|
set to 1000.
|
||||||
|
|
||||||
config USE_TINY_PRINTF
|
config SPL_USE_TINY_PRINTF
|
||||||
bool "Enable tiny printf() version"
|
bool "Enable tiny printf() version"
|
||||||
depends on SPL || TPL
|
depends on SPL
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
This option enables a tiny, stripped down printf version.
|
This option enables a tiny, stripped down printf version.
|
||||||
@ -107,6 +107,18 @@ config USE_TINY_PRINTF
|
|||||||
|
|
||||||
The supported format specifiers are %c, %s, %u/%d and %x.
|
The supported format specifiers are %c, %s, %u/%d and %x.
|
||||||
|
|
||||||
|
config TPL_USE_TINY_PRINTF
|
||||||
|
bool "Enable tiny printf() version"
|
||||||
|
depends on TPL
|
||||||
|
default y if SPL_USE_TINY_PRINTF
|
||||||
|
help
|
||||||
|
This option enables a tiny, stripped down printf version.
|
||||||
|
This should only be used in space limited environments,
|
||||||
|
like SPL versions with hard memory limits. This version
|
||||||
|
reduces the code size by about 2.5KiB on armv7.
|
||||||
|
|
||||||
|
The supported format specifiers are %c, %s, %u/%d and %x.
|
||||||
|
|
||||||
config PANIC_HANG
|
config PANIC_HANG
|
||||||
bool "Do not reset the system on fatal error"
|
bool "Do not reset the system on fatal error"
|
||||||
help
|
help
|
||||||
|
@ -106,7 +106,7 @@ obj-y += panic.o
|
|||||||
|
|
||||||
ifeq ($(CONFIG_$(SPL_TPL_)BUILD),y)
|
ifeq ($(CONFIG_$(SPL_TPL_)BUILD),y)
|
||||||
# SPL U-Boot may use full-printf, tiny-printf or none at all
|
# SPL U-Boot may use full-printf, tiny-printf or none at all
|
||||||
ifdef CONFIG_USE_TINY_PRINTF
|
ifdef CONFIG_$(SPL_TPL_)USE_TINY_PRINTF
|
||||||
obj-$(CONFIG_$(SPL_TPL_)SPRINTF) += tiny-printf.o
|
obj-$(CONFIG_$(SPL_TPL_)SPRINTF) += tiny-printf.o
|
||||||
else
|
else
|
||||||
obj-$(CONFIG_$(SPL_TPL_)SPRINTF) += vsprintf.o strmhz.o
|
obj-$(CONFIG_$(SPL_TPL_)SPRINTF) += vsprintf.o strmhz.o
|
||||||
|
Loading…
Reference in New Issue
Block a user