diff options
author | Ahmad Fatoum <ahmad@a3f.at> | 2022-07-13 11:57:26 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2022-07-14 10:27:41 +0200 |
commit | 403859e941e5c71b7df5a4bf4418e3dbfc6ab153 (patch) | |
tree | abeb84041bef0217dcc2a59cecb2db8ec1e0f8c7 | |
parent | 87ed5c44b3ef84835c83aa4f6375018d958ae9dc (diff) | |
download | barebox-403859e941e5c71b7df5a4bf4418e3dbfc6ab153.tar.gz |
pbl: make USE_COMPRESSED_DTB a PBL-only feature
All in-tree boards that reference __dtb_z_ symbols are already
multi-image capable and allow us to compress barebox proper by having
the prebootloader decompress it using the algorithm specified by the
CONFIG_IMAGE_COMPRESSION_* option.
DTB on the other hand, is handled specially and the optional compression
is always using LZO. It makes sense to use the same
CONFIG_IMAGE_COMPRESSION_* options for the DT too to make build system
integration easier.
To avoid special casing non-PBL support which lacks this options, just
drop USE_COMPRESSED_DTB there. If linking barebox for your downstream
board is broken by this:
- If not multi-image capable, consider porting it to use
ENTRY_FUNCTION(_WITHSTACK) instead
- If you are using __dtb_z_* in barebox proper, use normal __dtb_
and compress barebox as a whole instead with
CONFIG_IMAGE_COMPRESSION_*
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Link: https://lore.barebox.org/20220713095730.1878941-2-a.fatoum@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | common/Kconfig | 6 | ||||
-rw-r--r-- | pbl/Kconfig | 6 | ||||
-rwxr-xr-x | scripts/gen-dtb-s | 2 |
3 files changed, 7 insertions, 7 deletions
diff --git a/common/Kconfig b/common/Kconfig index 6278866006..60f52a10e1 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -41,12 +41,6 @@ config BLOCK config BLOCK_WRITE bool -config USE_COMPRESSED_DTB - bool - depends on ARM || RISCV - select UNCOMPRESS - select LZO_DECOMPRESS - config FILETYPE bool diff --git a/pbl/Kconfig b/pbl/Kconfig index ce0acbb646..ec1886073e 100644 --- a/pbl/Kconfig +++ b/pbl/Kconfig @@ -28,6 +28,12 @@ config PBL_SINGLE_IMAGE if PBL_IMAGE +config USE_COMPRESSED_DTB + bool + depends on ARM || RISCV + select UNCOMPRESS + select LZO_DECOMPRESS + config PBL_RELOCATABLE depends on ARM || MIPS || RISCV bool "relocatable pbl image" diff --git a/scripts/gen-dtb-s b/scripts/gen-dtb-s index 1027db2804..868d434664 100755 --- a/scripts/gen-dtb-s +++ b/scripts/gen-dtb-s @@ -58,7 +58,7 @@ fi compressed=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" $dtb.lzo) uncompressed=$(${CONFIG_SHELL} "${srctree}/scripts/file-size.sh" $dtb) -echo "#ifdef CONFIG_USE_COMPRESSED_DTB" +echo "#if defined(CONFIG_USE_COMPRESSED_DTB) && defined(__PBL__)" echo ".section .dtbz.rodata.${name},\"a\"" echo ".balign STRUCT_ALIGNMENT" echo ".global __dtb_z_${name}_start" |