On 07/25/2018 11:52 PM, Michal Simek wrote:
> On 25.7.2018 23:18, York Sun wrote:
>> On 07/24/2018 10:58 PM, Michal Simek wrote:
>>> On 24.7.2018 18:26, York Sun wrote:
>>>> On 07/24/2018 06:07 AM, Michal Simek wrote:
>>>>> There is no reason to limit gzip usage only for OS_BOOT and kernel image
>>>>> type.
>>>>>
>>>>> Signed-off-by: Michal Simek <michal.si...@xilinx.com>
>>>>> ---
>>>>>
>>>>>  common/spl/spl_fit.c | 5 +----
>>>>>  1 file changed, 1 insertion(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
>>>>> index 9eabb1c1058b..dbf5ac33a845 100644
>>>>> --- a/common/spl/spl_fit.c
>>>>> +++ b/common/spl/spl_fit.c
>>>>> @@ -257,10 +257,7 @@ static int spl_load_fit_image(struct spl_load_info 
>>>>> *info, ulong sector,
>>>>>   board_fit_image_post_process(&src, &length);
>>>>>  #endif
>>>>>  
>>>>> - if (IS_ENABLED(CONFIG_SPL_OS_BOOT)      &&
>>>>> -     IS_ENABLED(CONFIG_SPL_GZIP)         &&
>>>>> -     image_comp == IH_COMP_GZIP          &&
>>>>> -     type == IH_TYPE_KERNEL) {
>>>>> + if (IS_ENABLED(CONFIG_SPL_GZIP) && image_comp == IH_COMP_GZIP) {
>>>>>           size = length;
>>>>>           if (gunzip((void *)load_addr, CONFIG_SYS_BOOTM_LEN,
>>>>>                      src, &size)) {
>>>>>
>>>>
>>>> This will uncompress ramdisk unnecessarily.
>>>
>>> Can you please share your its fragment? Also is there any other image
>>> which should be exclude?
>>
>> I used it for falcon boot. I guess the executable image should have "entry". 
>> In
>> my setup, only kernel image has "entry". Here is my its file.
>>
>> /dts-v1/;
>>
>> / {
>>      description = "Image file for the LS1046A Linux Kernel";
>>      #address-cells = <1>;
>>
>>      images {
>>              kernel@1 {
>>                      description = "ARM64 Linux kernel";
>>                      data = /incbin/("./arch/arm64/boot/Image.gz");
>>                      type = "kernel";
>>                      arch = "arm64";
>>                      os = "linux";
>>                      compression = "gzip";
>>                      load = <0x80080000>;
>>                      entry = <0x80080000>;
>>              };
>>              fdt@1 {
>>                      description = "Flattened Device Tree blob";
>>                      data = /incbin/("./fsl-ls1046ardb.dtb");
>>                      type = "flat_dt";
>>                      arch = "arm64";
>>                      compression = "none";
>>                      load = <0x90000000>;
>>              };
>>              ramdisk@1 {
>>                      description = "Buildroot initramfs";
>>                         data = /incbin/("./rootfs.cpio.gz");
>>                      type = "ramdisk";
>>                      arch = "arm64";
>>                      os = "linux";
>>                      compression = "gzip";
> 
> I have tested full u-boot and there is also no uncompression for ramdisk
> when you put gzip compress there.
> I have even tried gzip compression for fdt with expectation that u-boot
> will uncompress it.
> 
> Based on doc/uImage.FIT/source_file_format.txt:
> 165  - compression : Compression used by included data. Supported
> compressions
> 166     are "gzip" and "bzip2". If no compression is used compression
> property
> 167     should be set to "none".
> 
> 
> Based on me this means that data inside fit are compressed and you are
> asking u-boot in boot to uncompress it. If you are not asking for that
> you should put none there.
> But it doesn't look like this is supported at all for fdt/ramdisk and it
> is only handled for OS.
> I see here two cases.
> 1. I want u-boot to uncompress my data in fit image (whatever it is)
> before passing control to OS that's why I putting there compression method.
> 2. I want OS to uncompress data but I want pass this data unchanged from
> u-boot to OS that's why I am putting compression method at "none"
> 
> I am expecting when you put "none" there than you will boot in falcon
> mode without any issue.

That will work. I can put "none" for the images I don't want U-Boot to
uncompress.

> 
> I have no problem to change this patch and include only kernel and fpga
> image but it sounds to me that we have gaps in implementation that not
> all images inside the fit image have the same range of functionalities.
> 
> Also I think that "load" entry is that one which matters not "entry".
> 

Not true here. The "entry" matters if you want to run it, for example
Linux kernel. It may be different from "load".

York
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to