]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
imx8mm/n_evk: enable booting Image.gz and avoid extra memcpy
authorPeng Fan <peng.fan@nxp.com>
Fri, 19 Jun 2026 16:06:05 +0000 (00:06 +0800)
committerFabio Estevam <festevam@gmail.com>
Sat, 27 Jun 2026 02:02:46 +0000 (23:02 -0300)
Add support for booting compressed kernel Image.gz by defining
kernel_comp_addr_r and kernel_comp_size in the default environment.

Set kernel_comp_addr_r to a high memory region to provide a dedicated
decompression buffer, avoiding overlap between compressed
input and decompressed output.

Also adjust CONFIG_SYS_LOAD_ADDR from 0x40480000 to 0x40400000.

With TEXT_OFFSET=0, the kernel is relocated directly to loadaddr, so
separating decompression and execution regions is required to guarantee
safe decompression without additional copying.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
board/nxp/imx8mm_evk/imx8mm_evk.env
board/nxp/imx8mn_evk/imx8mn_evk.env
configs/imx8mm_evk_defconfig
configs/imx8mm_evk_fspi_defconfig

index d59bd6fd5edc9c086dde3dea6f9a5f6d52d41d4b..88eefaa35e544f1d127649ca98591408d89cd3cc 100644 (file)
@@ -12,6 +12,8 @@ initrd_addr=0x48080000
 image=Image
 ip_dyn=yes
 kernel_addr_r=0x42000000
+kernel_comp_addr_r=0x60000000
+kernel_comp_size=0x2000000
 loadaddr=CONFIG_SYS_LOAD_ADDR
 mmcautodetect=yes
 mmcdev=CONFIG_ENV_MMC_DEVICE_INDEX
index cffa83bf792892c9a1ca25b29c108b83ba3c340c..fbdf202c573bb52728c0c59147a23ba2025c97e0 100644 (file)
@@ -12,6 +12,8 @@ initrd_addr=0x48080000
 image=Image
 ip_dyn=yes
 kernel_addr_r=0x42000000
+kernel_comp_addr_r=0x60000000
+kernel_comp_size=0x2000000
 loadaddr=CONFIG_SYS_LOAD_ADDR
 mmcautodetect=yes
 mmcdev=CONFIG_ENV_MMC_DEVICE_INDEX
index 33c1ae625a48bd8d855b0318efd401568a9f32a0..05ecaeaebe4f67351c6c5b5ebd6481027eae80d5 100644 (file)
@@ -18,7 +18,7 @@ CONFIG_SPL_TEXT_BASE=0x7E1000
 CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
 CONFIG_SPL_BSS_START_ADDR=0x910000
 CONFIG_SPL_BSS_MAX_SIZE=0x2000
-CONFIG_SYS_LOAD_ADDR=0x40480000
+CONFIG_SYS_LOAD_ADDR=0x40400000
 CONFIG_SPL=y
 CONFIG_EFI_MM_COMM_TEE=y
 CONFIG_EFI_VAR_BUF_SIZE=139264
index 94174916786ed7c72d36028bdc0792e17494e55f..6d531efc5f7d28333ed7b8f94146870253f3cf4d 100644 (file)
@@ -21,7 +21,7 @@ CONFIG_SPL_TEXT_BASE=0x7E2000
 CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
 CONFIG_SPL_BSS_START_ADDR=0x910000
 CONFIG_SPL_BSS_MAX_SIZE=0x2000
-CONFIG_SYS_LOAD_ADDR=0x40480000
+CONFIG_SYS_LOAD_ADDR=0x40400000
 CONFIG_SPL=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000