
On 23.03.20 18:43, Joel Johnson wrote:
When a mismatch is found trying to write an image for one boot method to a different boot device, print an error message including the image header marked target boot device type.
Signed-off-by: Joel Johnson mrjoel@lixil.net Reviewed-by: Stefan Roese sr@denx.de
v2 changes:
- newly added in v2 series
v3 changes:
- none
cmd/mvebu/bubt.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c index fbcad37c40..f992507041 100644 --- a/cmd/mvebu/bubt.c +++ b/cmd/mvebu/bubt.c @@ -676,6 +676,17 @@ static int a38x_check_boot_mode(const struct bubt_dev *dst) if (a38x_boot_modes[mode].id == hdr->blockid) return 0;
- for (int i = 0; i < A38X_BOOT_MODE_MAX; i++) {
This will fail, as A38X_BOOT_MODE_MAX is not defined any more. Please use ARRAY_SIZE() here as well.
Thanks, Stefan
if (a38x_boot_modes[i].id == hdr->blockid) {
printf("Error: image meant to be booted from "
" \"%s\", not \"%s\"!\n",
a38x_boot_modes[i].name, dst->name);
return -ENOEXEC;
}
- }
- printf("Error: unknown boot device in image header: 0x%x\n",
return -ENOEXEC; }hdr->blockid);
@@ -745,10 +756,8 @@ static int bubt_verify(const struct bubt_dev *dst)
#if defined(CONFIG_ARMADA_38X) err = a38x_check_boot_mode(dst);
- if (err) {
puts("Error: image not built for destination device!\n");
- if (err) return err;
} #endif
return 0;
Viele Grüße, Stefan