On 18.04.19 22:36, Julius Werner wrote:
My approach was to uncompress all compressed images on-the-fly in
fit_image_load().
Right, that's essentially what this patch is doing too.
Cool. I'm sorry I haven't found the time to dig into your patch for
details (too much day-to-day work right now).
Or I could dig up my patches from October and we'll see how far you get
with those?
I think I found your patch:
https://lists.denx.de/pipermail/u-boot/2018-October/344673.html
Exactly. I do have some further versions locally, but no real
breakthrough I think.
It seems to be doing something very close to what my patch does
anyway. My patch goes a little further by also solving the case when
no load address is given (in that case it will malloc() a buffer to
decompress into with an upper bound guess for the required size).
Hmm, I think we might want to use the lmb functions here to allocate a
buffer instead of relyling on malloc? The malloc pool might be large
enough for an uncompressed devicetree, but not for an 8 MByte FPGA image...
But starting with malloc might be ok.
If there is a load size given, the two should end up doing the same
thing. Also your patch works on all image types, which as you said
there breaks it for kernels. I think the option of doing it for all
image types except kernels would be a good solution for everyone.
(Ultimately, I think it might be nicer if the kernel decompression
would also be handled there and not as a special case, but I'd rather
not tackle everything at once. This can always be iterated upon in the
future.)
The reason I discontinued that patch was that I started adding a feature
to mkimage to add a property for the uncompressed size. This is still
pending work I haven't sent to the ML, but I do want to continue it once
I find the time.
So maybe we could move on with a v2 of your patch that uncompresses
everything but the kernel? I'd like to test that with my compressed FPGA
images then.
Regards,
Simon
_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot