summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAhmad Fatoum <ahmad@a3f.at>2022-07-13 11:57:26 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2022-07-14 10:27:41 +0200
commit403859e941e5c71b7df5a4bf4418e3dbfc6ab153 (patch)
treeabeb84041bef0217dcc2a59cecb2db8ec1e0f8c7
parent87ed5c44b3ef84835c83aa4f6375018d958ae9dc (diff)
downloadbarebox-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/Kconfig6
-rw-r--r--pbl/Kconfig6
-rwxr-xr-xscripts/gen-dtb-s2
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"