From fbcfdaf785df87e27dbf556566f8b8a09e3f73ad Mon Sep 17 00:00:00 2001 From: Antonello Dettori Date: Sat, 23 Jul 2016 17:11:44 +0200 Subject: payloads: add support lz4 compression Add the option to use the lz4 compression method to compress payloads. Also sets LZ4 as the default compression method. Change-Id: Ic712f984f791d268440c8463eaea0d246aa31d99 Signed-off-by: Antonello Dettori Reviewed-on: https://review.coreboot.org/15817 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- Makefile.inc | 3 +++ payloads/Kconfig | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Makefile.inc b/Makefile.inc index 413f7adaf6..ca157a29ab 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -345,6 +345,9 @@ CBFS_PAYLOAD_COMPRESS_FLAG:=none ifeq ($(CONFIG_COMPRESSED_PAYLOAD_LZMA),y) CBFS_PAYLOAD_COMPRESS_FLAG:=LZMA endif +ifeq ($(CONFIG_COMPRESSED_PAYLOAD_LZ4),y) +CBFS_PAYLOAD_COMPRESS_FLAG:=LZ4 +endif CBFS_PRERAM_COMPRESS_FLAG:=none ifeq ($(CONFIG_COMPRESS_PRERAM_STAGES),y) diff --git a/payloads/Kconfig b/payloads/Kconfig index bb9348b7d7..394dbb6afb 100644 --- a/payloads/Kconfig +++ b/payloads/Kconfig @@ -49,15 +49,27 @@ config PAYLOAD_FILE help The path and filename of the ELF executable file to use as payload. -# TODO: Defined if no payload? Breaks build? +choice + prompt "Payload compression algorithm" + default COMPRESSED_PAYLOAD_LZ4 + depends on !PAYLOAD_NONE && !PAYLOAD_LINUX + help + Choose the compression algorithm for the chosen payloads. + You can choose between LZMA and LZ4. + config COMPRESSED_PAYLOAD_LZMA bool "Use LZMA compression for payloads" - default y - depends on !PAYLOAD_NONE && !PAYLOAD_LINUX help In order to reduce the size payloads take up in the ROM chip coreboot can compress them using the LZMA algorithm. +config COMPRESSED_PAYLOAD_LZ4 + bool "Use LZ4 compression for payloads" + help + In order to reduce the size payloads take up in the ROM chip + coreboot can compress them using the LZ4 algorithm. +endchoice + config PAYLOAD_OPTIONS string default "" -- cgit v1.2.3