[PATCH v3 5/5] cmd: mvebu: bubt: show image boot device
Stefan Roese
sr at denx.de
Tue Mar 24 08:28:19 CET 2020
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 at lixil.net>
> Reviewed-by: Stefan Roese <sr at 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",
> + hdr->blockid);
> return -ENOEXEC;
> }
>
> @@ -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
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
More information about the U-Boot
mailing list