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 information when SPL finishes and load it when U-Boot proper starts
up. 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 config BOOTSTAGE_REPORT
bool "Display a detailed boot timing report before booting the OS" bool "Display a detailed boot timing report before booting the OS"
depends on BOOTSTAGE depends on BOOTSTAGE
@ -444,6 +453,16 @@ config LOG
config SPL_LOG config SPL_LOG
bool "Enable logging support in SPL" 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 help
This enables support for logging of status and debug messages. These This enables support for logging of status and debug messages. These
can be displayed on the console, recorded in a memory buffer, or 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 access MMC, similar to drivers/fastboot/fb_mmc.c.
* Helpers to alloc/init/free avb ops. * 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 endmenu
menu "Update support" menu "Update support"

View File

@ -68,6 +68,7 @@ obj-$(CONFIG_DFU_OVER_USB) += dfu.o
endif endif
obj-$(CONFIG_SPL_DFU_SUPPORT) += cli_hush.o obj-$(CONFIG_SPL_DFU_SUPPORT) += cli_hush.o
obj-$(CONFIG_SPL_HASH_SUPPORT) += hash.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_YMODEM_SUPPORT) += xyzModem.o
obj-$(CONFIG_SPL_LOAD_FIT) += common_fit.o obj-$(CONFIG_SPL_LOAD_FIT) += common_fit.o
obj-$(CONFIG_SPL_NET_SUPPORT) += miiphyutil.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_SPL_USB_SUPPORT) += usb.o usb_hub.o
obj-$(CONFIG_USB_STORAGE) += usb_storage.o obj-$(CONFIG_USB_STORAGE) += usb_storage.o
endif endif
endif endif # CONFIG_SPL_BUILD
#others #others
obj-$(CONFIG_DDR_SPD) += ddr_spd.o obj-$(CONFIG_DDR_SPD) += ddr_spd.o
obj-$(CONFIG_SPD_EEPROM) += ddr_spd.o obj-$(CONFIG_SPD_EEPROM) += ddr_spd.o
@ -90,14 +92,16 @@ obj-$(CONFIG_SPL_SERIAL_SUPPORT) += console.o
endif endif
else else
obj-y += console.o obj-y += console.o
endif endif # CONFIG_SPL_BUILD
obj-$(CONFIG_CROS_EC) += cros_ec.o obj-$(CONFIG_CROS_EC) += cros_ec.o
obj-y += dlmalloc.o obj-y += dlmalloc.o
ifdef CONFIG_SYS_MALLOC_F 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 obj-y += malloc_simple.o
endif endif
endif endif
obj-y += image.o obj-y += image.o
obj-$(CONFIG_ANDROID_BOOT_IMAGE) += image-android.o obj-$(CONFIG_ANDROID_BOOT_IMAGE) += image-android.o
obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += image-fdt.o obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += image-fdt.o