summary refs log tree commit diff stats
path: root/hw/mips/boston.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2021-12-06 07:27:32 -0800
committerRichard Henderson <richard.henderson@linaro.org>2021-12-06 07:27:32 -0800
commit2f8eb086732ad1875003101f5324f01c47d7408c (patch)
treed659d3015c140aa109f1c555cce867520d713ebd /hw/mips/boston.c
parent99fc08366b06282614daeda989d2fde6ab8a707f (diff)
parentac5837e330ec33e2df2d83338713a5c4272c8cc8 (diff)
downloadfocaccia-qemu-2f8eb086732ad1875003101f5324f01c47d7408c.tar.gz
focaccia-qemu-2f8eb086732ad1875003101f5324f01c47d7408c.zip
Merge tag 'mips-20211206' of https://github.com/philmd/qemu into staging
MIPS fixes

- Do not emit SD instruction on 32-bit CPU (Jiaxun Yang)
- Correctly catch load_elf() errors on Boston board (Jiaxun Yang)
- Revert bogus CLI fix for ISA VGA devices (Alex Bennée)

# gpg: Signature made Mon 06 Dec 2021 03:03:24 AM PST
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]

* tag 'mips-20211206' of https://github.com/philmd/qemu:
  Revert "vga: don't abort when adding a duplicate isa-vga device"
  hw/mips/boston: Fix load_elf() error detection
  hw/mips/bootloader: Fix write_ulong()

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'hw/mips/boston.c')
-rw-r--r--hw/mips/boston.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/mips/boston.c b/hw/mips/boston.c
index 0e3cca5511..59ca08b93a 100644
--- a/hw/mips/boston.c
+++ b/hw/mips/boston.c
@@ -777,14 +777,15 @@ static void boston_mach_init(MachineState *machine)
             exit(1);
         }
     } else if (machine->kernel_filename) {
-        uint64_t kernel_entry, kernel_high, kernel_size;
+        uint64_t kernel_entry, kernel_high;
+        ssize_t kernel_size;
 
         kernel_size = load_elf(machine->kernel_filename, NULL,
                            cpu_mips_kseg0_to_phys, NULL,
                            &kernel_entry, NULL, &kernel_high,
                            NULL, 0, EM_MIPS, 1, 0);
 
-        if (kernel_size) {
+        if (kernel_size > 0) {
             int dt_size;
             g_autofree const void *dtb_file_data, *dtb_load_data;
             hwaddr dtb_paddr = QEMU_ALIGN_UP(kernel_high, 64 * KiB);