Hi Heinrich, On Wed, 25 Sept 2024 at 13:55, Heinrich Schuchardt <[email protected]> wrote: > > On 25.09.24 12:44, Simon Glass wrote: > > With sandbox_spl we want to use the file-based boot in CI, so that this > > flow is tested. The recent UPL change enabled booting via that method, > > thus overriding the file-based boot. > > > > Correct this by using UPL only when the --upl flag is given. > > > > Signed-off-by: Simon Glass <[email protected]> > > Fixes: 91fde8e1764 ("sandbox: Add an SPL loader for UPL") > > --- > > > > arch/sandbox/cpu/spl.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/arch/sandbox/cpu/spl.c b/arch/sandbox/cpu/spl.c > > index 1c33a520c64..76638362564 100644 > > --- a/arch/sandbox/cpu/spl.c > > +++ b/arch/sandbox/cpu/spl.c > > @@ -55,9 +55,10 @@ void board_init_f(ulong flag) > > > > void board_boot_order(u32 *spl_boot_list) > > { > > + struct sandbox_state *state = state_get_current(); > > + > > spl_boot_list[0] = BOOT_DEVICE_VBE; > > - spl_boot_list[1] = BOOT_DEVICE_UPL; > > - spl_boot_list[2] = BOOT_DEVICE_BOARD; > > + spl_boot_list[1] = state->upl ? BOOT_DEVICE_UPL : BOOT_DEVICE_BOARD; > > Wouldn't the UPL method check if the loaded file is a universal payload, > and if not the BOARD method would be executed? > > In upl_load_from_image() I am missing a check that the FIT image is > really a universal payload, e.g. look at the spec-revision field. > > Considering > https://universalpayload.github.io/spec/chapter2-payload-image-format.html#example-fit > it seems a field uniquely identifying universal payloads (in contrast to > non-UPL FIT images) is missing in the specification.
Yes, that could be done as a new feature. But this patch is still correct. Regards, Simon

