qemu/hw
Michael S. Tsirkin 376827d489 s390x: fix flat file load on 32 bit systems
pc-bios/s390-zipl.rom is a flat image so it's expected that
loading it as elf will fail.
It should fall back on loading a flat file, but doesn't
on 32 bit systems, instead it fails printing:
    qemu: hardware error: could not load bootloader 's390-zipl.rom'

The result is boot failure.

The reason is that a 64 bit unsigned interger which is set
to -1 on error is compared to -1UL which on a 32 bit system
with gcc is a 32 bit unsigned interger.
Since both are unsigned, no sign extension takes place and
comparison evaluates to non-equal.

There's no reason to do clever tricks: all functions
we call actually return int so just use int.
And then we can use == -1 everywhere, consistently.

Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-id: 20131121133426.GA30827@redhat.com
Signed-off-by: Anthony Liguori <aliguori@amazon.com>
2013-11-21 07:55:10 -08:00
..
9pfs hw/9pfs: Fix errno value for xattr functions 2013-10-05 13:05:28 +04:00
acpi bswap.h: Remove le16_to_cpupu() 2013-11-05 19:57:46 -08:00
alpha hw/alpha: Fix compiler warning (integer constant is too large) 2013-10-02 22:55:28 +04:00
arm armv7m: Don't enforce use of kernel for qtest 2013-11-05 17:47:29 +01:00
audio pci, pc, acpi fixes, enhancements 2013-10-31 16:58:32 +01:00
block bswap.h: Remove cpu_to_be32wu() 2013-11-05 19:57:47 -08:00
bt Preparation for usb-bt-dongle conditional build 2013-09-10 11:14:41 +02:00
char spapr: add vio-bus devices to categories 2013-11-08 04:33:18 +01:00
core qdev: Drop misleading qdev_free() function 2013-11-05 18:06:38 +01:00
cpu arm11mpcore: Split off RealView MPCore 2013-11-05 17:47:30 +01:00
cris axis_dev88: Don't enforce use of kernel for qtest 2013-11-05 17:47:29 +01:00
display vga: fix invalid read after free 2013-11-05 20:01:11 -08:00
dma qom: Pass available size to object_initialize() 2013-08-30 21:15:44 +02:00
gpio gpio/zaurus: QOM cast cleanup 2013-07-29 21:06:57 +02:00
i2c exynos4210_i2c: QOM cast cleanup 2013-07-29 21:07:02 +02:00
i386 acpi-build: fix build on glib < 2.14 2013-11-21 07:54:03 -08:00
ide bswap.h: Remove cpu_to_be16wu() 2013-11-05 19:57:47 -08:00
input aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
intc realview_gic: Prepare for QOM embedding 2013-11-05 17:47:30 +01:00
isa ich9: APIs for pc guest info 2013-10-14 17:48:52 +03:00
lm32 milkymist: Suppress -kernel/-bios/-drive error for qtest 2013-11-05 17:47:29 +01:00
m68k an5206: Don't enforce use of kernel for qtest 2013-11-05 17:47:29 +01:00
microblaze hw/microblaze: Add support for loading initrd images 2013-10-24 22:56:48 +02:00
mips mips_mipssim: Silence BIOS loading warning for qtest 2013-11-05 17:47:28 +01:00
misc pcmcia: QOM'ify PCMCIACardState and MicroDriveState 2013-11-05 18:06:52 +01:00
moxie memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
net Merge remote-tracking branch 'stefanha/net' into staging 2013-11-19 12:58:32 -08:00
nvram spapr: add vio-bus devices to categories 2013-11-08 04:33:18 +01:00
openrisc openrisc-timer: Reduce overhead, Separate clock update functions 2013-11-20 21:46:45 +08:00
pci Revert "hw/pci: partially handle pci master abort" 2013-11-10 14:30:00 +02:00
pci-bridge hw/pci-bridge: set PCI_INTERRUPT_PIN register before shpc init 2013-10-14 17:11:45 +03:00
pci-host Fix pc migration from qemu <= 1.5 2013-11-10 12:08:37 +02:00
pcmcia pcmcia/pxa2xx: QOM'ify PXA2xxPCMCIAState 2013-11-05 18:06:52 +01:00
ppc loader: drop return value for rom_add_blob_fixed 2013-11-10 12:08:38 +02:00
s390x s390x: fix flat file load on 32 bit systems 2013-11-21 07:55:10 -08:00
scsi spapr: add vio-bus devices to categories 2013-11-08 04:33:18 +01:00
sd sd: Avoid access to NULL BlockDriverState 2013-10-17 10:15:18 +02:00
sh4 shix: Don't require firmware presence for qtest 2013-11-05 17:47:29 +01:00
sparc leon3: Don't enforce use of -bios with qtest 2013-11-05 17:47:29 +01:00
sparc64 pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
ssi xilinx_spi: QOM cast cleanup 2013-07-29 21:07:01 +02:00
timer rtc: remove dead SQW IRQ code 2013-11-05 20:04:03 -08:00
tpm aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
unicore32 puv3: Turn puv3_load_kernel() into a no-op for qtest without -kernel 2013-11-05 17:47:28 +01:00
usb usb: drop unused USBNetState.inpkt field 2013-11-13 15:48:38 +04:00
virtio qdev: Drop misleading qdev_free() function 2013-11-05 18:06:38 +01:00
watchdog aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
xen qdev: Drop misleading qdev_free() function 2013-11-05 18:06:38 +01:00
xtensa pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
Makefile.objs pcmcia: QOM'ify PCMCIACardState and MicroDriveState 2013-11-05 18:06:52 +01:00