[PATCH 1/3] riscv: sifive: unmatched: Adjust for big ramdisk image

Move kernel_comp_addr_r to an address that comes before the ramdisk image, since the decompressed kernel size is known to us. This way we can allow big ramdisk image to be loaded.
Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
include/configs/sifive-unmatched.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/configs/sifive-unmatched.h b/include/configs/sifive-unmatched.h index 087764666b..fa734a66be 100644 --- a/include/configs/sifive-unmatched.h +++ b/include/configs/sifive-unmatched.h @@ -56,12 +56,12 @@
#define CONFIG_EXTRA_ENV_SETTINGS \ "kernel_addr_r=0x84000000\0" \ - "fdt_addr_r=0x88000000\0" \ - "scriptaddr=0x88100000\0" \ - "pxefile_addr_r=0x88200000\0" \ - "ramdisk_addr_r=0x88300000\0" \ - "kernel_comp_addr_r=0x90000000\0" \ + "kernel_comp_addr_r=0x88000000\0" \ "kernel_comp_size=0x4000000\0" \ + "fdt_addr_r=0x8c000000\0" \ + "scriptaddr=0x8c100000\0" \ + "pxefile_addr_r=0x8c200000\0" \ + "ramdisk_addr_r=0x8c300000\0" \ "type_guid_gpt_loader1=" TYPE_GUID_LOADER1 "\0" \ "type_guid_gpt_loader2=" TYPE_GUID_LOADER2 "\0" \ "type_guid_gpt_system=" TYPE_GUID_SYSTEM "\0" \

Set kernel_comp_addr_r and kernel_comp_size for compressed kernel. Adjust existing addresses for ramdisk, so that kernel_comp_addr_r comes before the ramdisk image, since the decompressed kernel size is known to us. This way we can allow big ramdisk image to be loaded.
Update unleashed.rst to remove the manual environment configuration for compressed kernel boot.
Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
doc/board/sifive/unleashed.rst | 2 -- include/configs/sifive-unleashed.h | 10 ++++++---- 2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/doc/board/sifive/unleashed.rst b/doc/board/sifive/unleashed.rst index c8a62068a7..ce38b701d7 100644 --- a/doc/board/sifive/unleashed.rst +++ b/doc/board/sifive/unleashed.rst @@ -216,8 +216,6 @@ Or if you want to use a compressed kernel image file such as Image.gz 1.2 MiB/s done Bytes transferred = 4809458 (4962f2 hex) - =>setenv kernel_comp_addr_r 0x90000000 - =>setenv kernel_comp_size 0x500000
By this time, correct kernel image is loaded and required environment variables are set. You can proceed to load the ramdisk and device tree from the tftp server diff --git a/include/configs/sifive-unleashed.h b/include/configs/sifive-unleashed.h index 920f3140f6..96e2eb6798 100644 --- a/include/configs/sifive-unleashed.h +++ b/include/configs/sifive-unleashed.h @@ -61,12 +61,14 @@ "fdt_high=0xffffffffffffffff\0" \ "initrd_high=0xffffffffffffffff\0" \ "kernel_addr_r=0x84000000\0" \ - "fdt_addr_r=0x88000000\0" \ - "scriptaddr=0x88100000\0" \ + "kernel_comp_addr_r=0x88000000\0" \ + "kernel_comp_size=0x4000000\0" \ + "fdt_addr_r=0x8c000000\0" \ + "scriptaddr=0x8c100000\0" \ "script_offset_f=0x1fff000\0" \ "script_size_f=0x1000\0" \ - "pxefile_addr_r=0x88200000\0" \ - "ramdisk_addr_r=0x88300000\0" \ + "pxefile_addr_r=0x8c200000\0" \ + "ramdisk_addr_r=0x8c300000\0" \ "type_guid_gpt_loader1=" TYPE_GUID_LOADER1 "\0" \ "type_guid_gpt_loader2=" TYPE_GUID_LOADER2 "\0" \ "type_guid_gpt_system=" TYPE_GUID_SYSTEM "\0" \

On Tue, May 24, 2022 at 12:31:13PM +0800, Bin Meng wrote:
Set kernel_comp_addr_r and kernel_comp_size for compressed kernel. Adjust existing addresses for ramdisk, so that kernel_comp_addr_r comes before the ramdisk image, since the decompressed kernel size is known to us. This way we can allow big ramdisk image to be loaded.
Update unleashed.rst to remove the manual environment configuration for compressed kernel boot.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
doc/board/sifive/unleashed.rst | 2 -- include/configs/sifive-unleashed.h | 10 ++++++---- 2 files changed, 6 insertions(+), 6 deletions(-)
Reviewed-by: Leo Yu-Chi Liang ycliang@andestech.com

Set kernel_comp_addr_r and kernel_comp_size for compressed kernel. Adjust existing addresses for ramdisk, so that kernel_comp_addr_r comes before the ramdisk image, since the decompressed kernel size is known to us. This way we can allow big ramdisk image to be loaded.
Signed-off-by: Bin Meng bmeng.cn@gmail.com ---
include/configs/qemu-riscv.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/include/configs/qemu-riscv.h b/include/configs/qemu-riscv.h index 618c3b63d4..f462895fb5 100644 --- a/include/configs/qemu-riscv.h +++ b/include/configs/qemu-riscv.h @@ -54,10 +54,12 @@ "fdt_high=0xffffffffffffffff\0" \ "initrd_high=0xffffffffffffffff\0" \ "kernel_addr_r=0x84000000\0" \ - "fdt_addr_r=0x88000000\0" \ - "scriptaddr=0x88100000\0" \ - "pxefile_addr_r=0x88200000\0" \ - "ramdisk_addr_r=0x88300000\0" \ + "kernel_comp_addr_r=0x88000000\0" \ + "kernel_comp_size=0x4000000\0" \ + "fdt_addr_r=0x8c000000\0" \ + "scriptaddr=0x8c100000\0" \ + "pxefile_addr_r=0x8c200000\0" \ + "ramdisk_addr_r=0x8c300000\0" \ BOOTENV #endif

On Tue, May 24, 2022 at 12:31:14PM +0800, Bin Meng wrote:
Set kernel_comp_addr_r and kernel_comp_size for compressed kernel. Adjust existing addresses for ramdisk, so that kernel_comp_addr_r comes before the ramdisk image, since the decompressed kernel size is known to us. This way we can allow big ramdisk image to be loaded.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
include/configs/qemu-riscv.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
Reviewed-by: Leo Yu-Chi Liang ycliang@andestech.com

On Tue, May 24, 2022 at 12:31:12PM +0800, Bin Meng wrote:
Move kernel_comp_addr_r to an address that comes before the ramdisk image, since the decompressed kernel size is known to us. This way we can allow big ramdisk image to be loaded.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
include/configs/sifive-unmatched.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
Reviewed-by: Leo Yu-Chi Liang ycliang@andestech.com
participants (2)
-
Bin Meng
-
Leo Liang