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 <dev@dettori.io>
Reviewed-on: https://review.coreboot.org/15817
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
diff --git a/Makefile.inc b/Makefile.inc
index 413f7ad..ca157a2 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -345,6 +345,9 @@
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 bb9348b..394dbb6 100644
--- a/payloads/Kconfig
+++ b/payloads/Kconfig
@@ -49,15 +49,27 @@
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 ""