spl: Support bootstage, log, hash and early malloc in TPL

At present these features are supported in SPL but not TPL. Update the
Kconfig and Makefile to allow this.

Also add a few Makefile comments to make earier to track what is going on.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2018-11-06 15:21:28 -07:00
parent 4a5b5e1a46
commit c0126bd862
2 changed files with 42 additions and 3 deletions

View File

@ -27,6 +27,15 @@ config SPL_BOOTSTAGE
information when SPL finishes and load it when U-Boot proper starts
up.
config TPL_BOOTSTAGE
bool "Boot timing and reported in TPL"
depends on BOOTSTAGE
help
Enable recording of boot time in SPL. To make this visible to U-Boot
proper, enable BOOTSTAGE_STASH as well. This will stash the timing
information when TPL finishes and load it when U-Boot proper starts
up.
config BOOTSTAGE_REPORT
bool "Display a detailed boot timing report before booting the OS"
depends on BOOTSTAGE
@ -444,6 +453,16 @@ config LOG
config SPL_LOG
bool "Enable logging support in SPL"
depends on LOG
help
This enables support for logging of status and debug messages. These
can be displayed on the console, recorded in a memory buffer, or
discarded if not needed. Logging supports various categories and
levels of severity.
config TPL_LOG
bool "Enable logging support in TPL"
depends on LOG
help
This enables support for logging of status and debug messages. These
can be displayed on the console, recorded in a memory buffer, or
@ -660,6 +679,22 @@ config AVB_VERIFY
* Helpers to access MMC, similar to drivers/fastboot/fb_mmc.c.
* Helpers to alloc/init/free avb ops.
config SPL_HASH
bool # "Support hashing API (SHA1, SHA256, etc.)"
help
This provides a way to hash data in memory using various supported
algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
and the algorithms it supports are defined in common/hash.c. See
also CMD_HASH for command-line access.
config TPL_HASH
bool # "Support hashing API (SHA1, SHA256, etc.)"
help
This provides a way to hash data in memory using various supported
algorithms (such as SHA1, MD5, CRC32). The API is defined in hash.h
and the algorithms it supports are defined in common/hash.c. See
also CMD_HASH for command-line access.
endmenu
menu "Update support"

View File

@ -68,6 +68,7 @@ obj-$(CONFIG_DFU_OVER_USB) += dfu.o
endif
obj-$(CONFIG_SPL_DFU_SUPPORT) += cli_hush.o
obj-$(CONFIG_SPL_HASH_SUPPORT) += hash.o
obj-$(CONFIG_TPL_HASH_SUPPORT) += hash.o
obj-$(CONFIG_SPL_YMODEM_SUPPORT) += xyzModem.o
obj-$(CONFIG_SPL_LOAD_FIT) += common_fit.o
obj-$(CONFIG_SPL_NET_SUPPORT) += miiphyutil.o
@ -76,7 +77,8 @@ ifdef CONFIG_SPL_USB_HOST_SUPPORT
obj-$(CONFIG_SPL_USB_SUPPORT) += usb.o usb_hub.o
obj-$(CONFIG_USB_STORAGE) += usb_storage.o
endif
endif
endif # CONFIG_SPL_BUILD
#others
obj-$(CONFIG_DDR_SPD) += ddr_spd.o
obj-$(CONFIG_SPD_EEPROM) += ddr_spd.o
@ -90,14 +92,16 @@ obj-$(CONFIG_SPL_SERIAL_SUPPORT) += console.o
endif
else
obj-y += console.o
endif
endif # CONFIG_SPL_BUILD
obj-$(CONFIG_CROS_EC) += cros_ec.o
obj-y += dlmalloc.o
ifdef CONFIG_SYS_MALLOC_F
ifneq ($(CONFIG_$(SPL_)SYS_MALLOC_F_LEN),0)
ifneq ($(CONFIG_$(SPL_TPL_)SYS_MALLOC_F_LEN),0)
obj-y += malloc_simple.o
endif
endif
obj-y += image.o
obj-$(CONFIG_ANDROID_BOOT_IMAGE) += image-android.o
obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += image-fdt.o