ivshmem PCI device exposes wrong endianness on ppc64le

This bug has been copied automatically from: https://bugs.launchpad.net/qemu/+bug/1824744
Reported by 'shawn' on 2019-04-15 :

On a ppc64le host with a ppc64le guest running on QEMU 3.1.0 when an
ivshmem device is used, the ivshmem device appears to expose the wrong
endianness for the values in BAR 0.

For example, when the guest is assigned an ivshmem device ID of 1, the
IVPosition register (u32, offset 8 in BAR 0) returns 0x1000000 instead of
0x1. I tested on an x86_64 machine and the IVPosition reads 0x1 as
expected.

It seems possible that there's a ppc64*==bigendian assumption somewhere
that is erroneously affecting ppc64le.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information