Adding Simon.
On Thu, Oct 24, 2024 at 11:14 AM Marek Vasut <[email protected]> wrote: > > On 10/24/24 2:27 PM, Rasmus Villemoes wrote: > > Loading flash.bin using uuu fails when flash.bin does not have the > > right size. > > > > When flash.bin is loaded from some storage medium (sd card/emmc), SPL > > just loads some random garbage bytes from beyond what has been > > populated when flash.bin was written, but when loaded via uuu, SPL > > hangs waiting for the host to send the expected number of bytes. Which > > is (size of FIT image aligned to 0x1000)+CONFIG_CSF_SIZE. The > > alignment to 0x1000 is already done and is necessary in all cases > > because that's the exact expected location of the 32 byte IVT > > header. But the IVT+CSF blob tacked onto the end must be a total of > > CONFIG_CSF_SIZE. > > > > This is exactly the same fix as 89f19f45d650, except that this time > > around I don't know how to cleanly get CONFIG_CSF_SIZE. > > > > Fixes: bc6beae7c55f (binman: Add nxp_imx8mcst etype for i.MX8M flash.bin > > signing) > > Signed-off-by: Rasmus Villemoes <[email protected]> > > --- > > Heiko, can you check if this works for you? > > > > And if somebody wants to pick this up and knows how to get at CONFIG_ > > values, feel free to fix up and take authorship. But perhaps it's not > > really configurable at all; imx8mimage.c has the value 0x2000 > > hard-coded, so I don't think anything good could ever come from > > modifying CONFIG_CSF_SIZE. If so, the right fix is probably just to > > make that knob non-settable. > > > > tools/binman/etype/nxp_imx8mcst.py | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/tools/binman/etype/nxp_imx8mcst.py > > b/tools/binman/etype/nxp_imx8mcst.py > > index 8221517b0c4..9a1974cc522 100644 > > --- a/tools/binman/etype/nxp_imx8mcst.py > > +++ b/tools/binman/etype/nxp_imx8mcst.py > > @@ -137,6 +137,8 @@ class Entry_nxp_imx8mcst(Entry_mkimage): > > args = ['-i', cfg_fname, '-o', output_fname] > > if self.cst.run_cmd(*args) is not None: > > outdata = tools.read_file(output_fname) > > + # fixme: 0x2000 should be CONFIG_CSF_SIZE > > + outdata += tools.get_bytes(0, 0x2000 - 0x20 - len(outdata)) > > return data + outdata > > else: > > # Bintool is missing; just use the input data as the output > > I have to admit, I never really figured out this binman stuff, but > shouldn't the fix be also in tools/binman/etype/nxp_imx8mimage.py ? And > ... shouldn't it somehow use SetImagePos() ?

