diff options
author | Thomas Huth <thuth@redhat.com> | 2023-08-02 15:57:23 +0200 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2023-08-03 16:16:17 -0400 |
commit | e1e56c07d1fa24aa37a7e89e6633768fc8ea8705 (patch) | |
tree | b8d7c845db01ac8c13dcf76af43278792436eae7 /hw | |
parent | 37cf5cecb039a063c0abe3b51ae30f969e73aa84 (diff) | |
download | qemu-e1e56c07d1fa24aa37a7e89e6633768fc8ea8705.zip qemu-e1e56c07d1fa24aa37a7e89e6633768fc8ea8705.tar.gz qemu-e1e56c07d1fa24aa37a7e89e6633768fc8ea8705.tar.bz2 |
include/hw/i386/x86-iommu: Fix struct X86IOMMU_MSIMessage for big endian hosts
The first bitfield here is supposed to be used as a 64-bit equivalent
to the "uint64_t msi_addr" in the union. To make this work correctly
on big endian hosts, too, the __addr_hi field has to be part of the
bitfield, and the the bitfield members must be declared with "uint64_t"
instead of "uint32_t" - otherwise the values are placed in the wrong
bytes on big endian hosts.
Same applies to the 32-bit "msi_data" field: __resved1 must be part
of the bitfield, and the members must be declared with "uint32_t"
instead of "uint16_t".
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20230802135723.178083-7-thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Diffstat (limited to 'hw')
0 files changed, 0 insertions, 0 deletions