spl: lib: Allow for decompression in any SPL build

Add Kconfig symbols and update the Makefile rules so that decompression
can be used in TPL and VPL

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2024-12-19 11:29:03 -07:00
parent 0442b129cc
commit 543ca1278d
2 changed files with 41 additions and 6 deletions

View File

@@ -832,12 +832,36 @@ config SPL_LZ4
fast compression and decompression speed. It belongs to the LZ77 fast compression and decompression speed. It belongs to the LZ77
family of byte-oriented compression schemes. family of byte-oriented compression schemes.
config TPL_LZ4
bool "Enable LZ4 decompression support in TPL"
depends on TPL
help
This enables support for the LZ4 decompression algorithm in TPL. LZ4
is a lossless data compression algorithm that is focused on
fast compression and decompression speed. It belongs to the LZ77
family of byte-oriented compression schemes.
config VPL_LZ4
bool "Enable LZ4 decompression support in VPL"
depends on VPL
help
This enables support for the LZ4 decompression algorithm in VPL. LZ4
is a lossless data compression algorithm that is focused on
fast compression and decompression speed. It belongs to the LZ77
family of byte-oriented compression schemes.
config SPL_LZMA config SPL_LZMA
bool "Enable LZMA decompression support for SPL build" bool "Enable LZMA decompression support for SPL build"
depends on SPL depends on SPL
help help
This enables support for LZMA compression algorithm for SPL boot. This enables support for LZMA compression algorithm for SPL boot.
config TPL_LZMA
bool "Enable LZMA decompression support for TPL build"
depends on TPL
help
This enables support for LZMA compression algorithm for TPL boot.
config VPL_LZMA config VPL_LZMA
bool "Enable LZMA decompression support for VPL build" bool "Enable LZMA decompression support for VPL build"
default y if LZMA default y if LZMA
@@ -856,11 +880,22 @@ config SPL_GZIP
help help
This enables support for the GZIP compression algorithm for SPL boot. This enables support for the GZIP compression algorithm for SPL boot.
config TPL_GZIP
bool "Enable gzip decompression support for SPL build"
select TPL_ZLIB
help
This enables support for the GZIP compression algorithm for TPL
config SPL_ZLIB config SPL_ZLIB
bool bool
help help
This enables compression lib for SPL boot. This enables compression lib for SPL boot.
config TPL_ZLIB
bool
help
This enables compression lib for TPL
config SPL_ZSTD config SPL_ZSTD
bool "Enable Zstandard decompression support in SPL" bool "Enable Zstandard decompression support in SPL"
depends on SPL depends on SPL

View File

@@ -83,12 +83,12 @@ obj-$(CONFIG_$(XPL_)SHA512_LEGACY) += sha512.o
obj-$(CONFIG_CRYPT_PW) += crypt/ obj-$(CONFIG_CRYPT_PW) += crypt/
obj-$(CONFIG_$(XPL_)ASN1_DECODER_LEGACY) += asn1_decoder.o obj-$(CONFIG_$(XPL_)ASN1_DECODER_LEGACY) += asn1_decoder.o
obj-$(CONFIG_$(XPL_)ZLIB) += zlib/ obj-$(CONFIG_$(PHASE_)ZLIB) += zlib/
obj-$(CONFIG_$(XPL_)ZSTD) += zstd/ obj-$(CONFIG_$(PHASE_)ZSTD) += zstd/
obj-$(CONFIG_$(XPL_)GZIP) += gunzip.o obj-$(CONFIG_$(PHASE_)GZIP) += gunzip.o
obj-$(CONFIG_$(XPL_)LZO) += lzo/ obj-$(CONFIG_$(PHASE_)LZO) += lzo/
obj-$(CONFIG_$(XPL_)LZMA) += lzma/ obj-$(CONFIG_$(PHASE_)LZMA) += lzma/
obj-$(CONFIG_$(XPL_)LZ4) += lz4_wrapper.o obj-$(CONFIG_$(PHASE_)LZ4) += lz4_wrapper.o
obj-$(CONFIG_$(XPL_)LIB_RATIONAL) += rational.o obj-$(CONFIG_$(XPL_)LIB_RATIONAL) += rational.o