All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Simon Glass <sjg@chromium.org>,
	AKASHI Takahiro <akashi.tkhro@gmail.com>,
	Bin Meng <bmeng.cn@gmail.com>,
	Eddie James <eajames@linux.ibm.com>,
	Heinrich Schuchardt <xypron.glpk@gmx.de>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Michal Simek <michal.simek@amd.com>,
	Sean Anderson <sean.anderson@seco.com>,
	Tom Rini <trini@konsulko.com>
Subject: [PATCH 15/19] spl: lib: Allow for decompression in any SPL build
Date: Thu, 29 Aug 2024 08:57:58 -0600	[thread overview]
Message-ID: <20240829145802.1827952-16-sjg@chromium.org> (raw)
In-Reply-To: <20240829145802.1827952-1-sjg@chromium.org>

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>
---

 lib/Kconfig  | 35 +++++++++++++++++++++++++++++++++++
 lib/Makefile |  8 ++++----
 2 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/lib/Kconfig b/lib/Kconfig
index 2059219a120..72a5f3cb04f 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -811,12 +811,36 @@ config SPL_LZ4
 	  fast compression and decompression speed. It belongs to the LZ77
 	  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
 	bool "Enable LZMA decompression support for SPL build"
 	depends on SPL
 	help
 	  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
 	bool "Enable LZMA decompression support for VPL build"
 	default y if LZMA
@@ -835,11 +859,22 @@ config SPL_GZIP
 	help
 	  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
 	bool
 	help
 	  This enables compression lib for SPL boot.
 
+config TPL_ZLIB
+	bool
+	help
+	  This enables compression lib for TPL
+
 config SPL_ZSTD
 	bool "Enable Zstandard decompression support in SPL"
 	depends on SPL
diff --git a/lib/Makefile b/lib/Makefile
index 81b503ab526..d122f764f9f 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -82,12 +82,12 @@ obj-$(CONFIG_$(SPL_)SHA512) += sha512.o
 obj-$(CONFIG_CRYPT_PW) += crypt/
 obj-$(CONFIG_$(SPL_)ASN1_DECODER) += asn1_decoder.o
 
-obj-$(CONFIG_$(SPL_)ZLIB) += zlib/
+obj-$(CONFIG_$(SPL_TPL_)ZLIB) += zlib/
 obj-$(CONFIG_$(SPL_)ZSTD) += zstd/
-obj-$(CONFIG_$(SPL_)GZIP) += gunzip.o
+obj-$(CONFIG_$(SPL_TPL_)GZIP) += gunzip.o
 obj-$(CONFIG_$(SPL_)LZO) += lzo/
-obj-$(CONFIG_$(SPL_)LZMA) += lzma/
-obj-$(CONFIG_$(SPL_)LZ4) += lz4_wrapper.o
+obj-$(CONFIG_$(SPL_TPL_)LZMA) += lzma/
+obj-$(CONFIG_$(SPL_TPL_)LZ4) += lz4_wrapper.o
 
 obj-$(CONFIG_$(SPL_)LIB_RATIONAL) += rational.o
 
-- 
2.34.1


  parent reply	other threads:[~2024-08-29 15:01 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-29 14:57 [PATCH 00/19] vbe: Series part E Simon Glass
2024-08-29 14:57 ` [PATCH 01/19] image: Add a prototype for fit_image_get_phase() Simon Glass
2024-08-29 14:57 ` [PATCH 02/19] serial: ns16550: Allow clocks to be missing Simon Glass
2024-08-29 17:24   ` Tom Rini
2024-09-20  7:25     ` Simon Glass
2024-08-29 14:57 ` [PATCH 03/19] boot: Allow FIT to fall back from best-match option Simon Glass
2024-09-04 22:25   ` Tom Rini
2024-09-20 15:59     ` Simon Glass
2024-09-20 16:34       ` Tom Rini
2024-08-29 14:57 ` [PATCH 04/19] bootstd: Avoid sprintf() in SPL when creating bootdevs Simon Glass
2024-08-29 14:57 ` [PATCH 05/19] boot: Respect the load_op in fit_image_load() Simon Glass
2024-09-04 22:25   ` Tom Rini
2024-08-29 14:57 ` [PATCH 06/19] malloc: Show amount of used space when memory runs out Simon Glass
2024-08-29 17:26   ` Tom Rini
2024-09-20  7:25     ` Simon Glass
2024-09-20 14:59       ` Tom Rini
2024-09-20 16:04         ` Simon Glass
2024-09-20 16:35           ` Tom Rini
2024-09-21 11:37             ` Simon Glass
2024-08-29 14:57 ` [PATCH 07/19] malloc: Provide a simple malloc for VPL Simon Glass
2024-08-29 14:57 ` [PATCH 08/19] Support setting a maximum size for the VPL image Simon Glass
2024-08-29 14:57 ` [PATCH 09/19] spl: Report a loader failure Simon Glass
2024-08-29 14:57 ` [PATCH 10/19] spl: Allow serial to be disabled in any XPL phase Simon Glass
2024-08-29 14:57 ` [PATCH 11/19] spl: Support a relocated stack " Simon Glass
2024-08-29 14:57 ` [PATCH 12/19] spl: Drop use of uintptr_t Simon Glass
2024-08-29 14:57 ` [PATCH 13/19] spl: Drop a duplicate variable in boot_from_devices() Simon Glass
2024-08-29 14:57 ` [PATCH 14/19] spl: Add some more debugging to load_simple_fit() Simon Glass
2024-08-29 14:57 ` Simon Glass [this message]
2024-08-29 14:57 ` [PATCH 16/19] boot: Allow use of FIT in TPL and VPL Simon Glass
2024-08-29 14:58 ` [PATCH 17/19] lib: Allow crc8 " Simon Glass
2024-08-29 17:30   ` Tom Rini
2024-08-29 14:58 ` [PATCH 18/19] boot: Imply CRC8 with VBE Simon Glass
2024-08-29 17:31   ` Tom Rini
2024-09-20  7:25     ` Simon Glass
2024-08-29 14:58 ` [PATCH 19/19] hash: Plumb crc8 into the hash functions Simon Glass
2024-08-30 12:17   ` Peter Robinson
2024-09-01 20:09     ` Simon Glass
2024-08-29 18:32 ` [PATCH 00/19] vbe: Series part E Tom Rini
2024-08-30  1:06   ` Simon Glass
2024-08-30 12:18 ` Caleb Connolly
2024-09-19 14:11   ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240829145802.1827952-16-sjg@chromium.org \
    --to=sjg@chromium.org \
    --cc=akashi.tkhro@gmail.com \
    --cc=bmeng.cn@gmail.com \
    --cc=eajames@linux.ibm.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=michal.simek@amd.com \
    --cc=sean.anderson@seco.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=xypron.glpk@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.