Skip to content

Commit

Permalink
hw/arm/nseries: Check return value from load_image_targphys()
Browse files Browse the repository at this point in the history
The nseries machines have a codepath that allows them to load a
secondary bootloader.  This code wasn't checking that the
load_image_targphys() succeeded.  Check the return value and report
the error to the user.

While we're in the vicinity, fix the comment style of the
comment documenting what this image load is doing.

Fixes: Coverity CID 1192904
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201103114918.11807-1-peter.maydell@linaro.org
  • Loading branch information
pm215 committed Nov 10, 2020
1 parent 44cbf34 commit 0e5dc77
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions hw/arm/nseries.c
Original file line number Diff line number Diff line change
Expand Up @@ -1369,17 +1369,24 @@ static void n8x0_init(MachineState *machine,
/* No, wait, better start at the ROM. */
s->mpu->cpu->env.regs[15] = OMAP2_Q2_BASE + 0x400000;

/* This is intended for loading the `secondary.bin' program from
/*
* This is intended for loading the `secondary.bin' program from
* Nokia images (the NOLO bootloader). The entry point seems
* to be at OMAP2_Q2_BASE + 0x400000.
*
* The `2nd.bin' files contain some kind of earlier boot code and
* for them the entry point needs to be set to OMAP2_SRAM_BASE.
*
* The code above is for loading the `zImage' file from Nokia
* images. */
load_image_targphys(option_rom[0].name, OMAP2_Q2_BASE + 0x400000,
machine->ram_size - 0x400000);
* images.
*/
if (load_image_targphys(option_rom[0].name,
OMAP2_Q2_BASE + 0x400000,
machine->ram_size - 0x400000) < 0) {
error_report("Failed to load secondary bootloader %s",
option_rom[0].name);
exit(EXIT_FAILURE);
}

n800_setup_nolo_tags(nolo_tags);
cpu_physical_memory_write(OMAP2_SRAM_BASE, nolo_tags, 0x10000);
Expand Down

0 comments on commit 0e5dc77

Please sign in to comment.