From: Ahmad Fatoum <ahmad@xxxxxx> 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@xxxxxxxxxxxxxx> --- v1 -> v2: - new patch --- common/Kconfig | 6 ------ pbl/Kconfig | 6 ++++++ scripts/gen-dtb-s | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/common/Kconfig b/common/Kconfig index 6278866006b1..60f52a10e11d 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 ce0acbb646c7..ec1886073e42 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 1027db28044f..868d434664ec 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" -- 2.30.2