qemu-e2k/include/hw/s390x
Thomas Huth cb89b34907 hw/s390x/ioinst: Fix alignment problem in struct SubchDev
struct SubchDev embeds several other structures which are marked with
QEMU_PACKED. This causes the compiler to not care for proper alignment
of these structures. When we later pass around pointers to the unaligned
struct members during migration, this causes problems on host architectures
like Sparc that can not do unaligned memory access.

Most of the structs in ioinst.h are naturally aligned, so we can fix
most of the problem by removing the QEMU_PACKED statements (and use
QEMU_BUILD_BUG_MSG() statements instead to make sure that there is no
padding). However, for the struct SCHIB, we have to keep the QEMU_PACKED
since the compiler adds some padding here otherwise. Move this struct
to the beginning of struct SubchDev instead to fix the alignment problem
here, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <1538036615-32542-4-git-send-email-thuth@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2018-10-04 10:32:38 +02:00
..
3270-ccw.h s390x/3270: IDA support for 3270 via CcwDataStream 2017-10-06 10:53:02 +02:00
adapter.h s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
css-bridge.h s390x: remove 's390-squash-mcss' option 2018-08-20 14:18:49 +02:00
css.h hw/s390x/ioinst: Fix alignment problem in struct SubchDev 2018-10-04 10:32:38 +02:00
ebcdic.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
event-facility.h hw/s390x: Allow to configure the consoles with the "-serial" parameter 2018-04-30 10:48:29 +02:00
ioinst.h hw/s390x/ioinst: Fix alignment problem in struct SubchDev 2018-10-04 10:32:38 +02:00
s390_flic.h s390x/flic: cache the common flic class in a central function 2018-02-09 09:37:13 +01:00
s390-ccw.h s390x: improve error handling for SSCH and RSCH 2017-10-20 13:32:10 +02:00
s390-virtio-ccw.h s390x: remove 's390-squash-mcss' option 2018-08-20 14:18:49 +02:00
sclp.h s390x: remove s390_get_memslot_count 2018-02-26 12:55:26 +01:00
storage-attributes.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
storage-keys.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
tod.h s390x/tcg: properly implement the TOD 2018-07-02 10:37:38 +02:00