qemu-patch-raspberry4/hw/s390x
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
..
css.c misc: Fix some typos in names and comments 2013-09-01 18:59:24 +04:00
css.h virtio-ccw: Wire up ioeventfd. 2013-06-25 17:11:11 +02:00
event-facility.c s390/eventfacility: allow childs to handle more than 1 event type 2013-09-20 13:55:30 +02:00
ipl.c s390x: fix flat file load on 32 bit systems 2013-11-21 07:55:10 -08:00
Makefile.objs hw: move char devices to hw/char/, configure via default-configs/ 2013-04-08 18:13:14 +02:00
s390-virtio-bus.c qom: Pass available size to object_initialize() 2013-08-30 21:15:44 +02:00
s390-virtio-bus.h virtio-bus: make virtio_x_bus_new static. 2013-04-24 11:50:20 -05:00
s390-virtio-ccw.c pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
s390-virtio-hcall.c s390: Move hw files to hw/s390x 2013-01-29 21:50:04 +01:00
s390-virtio.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
s390-virtio.h S390: IPL: Use different firmware for different machines 2013-04-26 20:18:24 +02:00
sclp.c hw: include hw header files with full paths 2013-03-01 15:01:17 +01:00
sclpquiesce.c s390/eventfacility: allow childs to handle more than 1 event type 2013-09-20 13:55:30 +02:00
virtio-ccw.c qdev: Drop misleading qdev_free() function 2013-11-05 18:06:38 +01:00
virtio-ccw.h virtio-ccw: Wire up guest and host notifies. 2013-06-25 17:11:12 +02:00