mirror of
https://github.com/qemu/qemu.git
synced 2024-12-27 06:03:29 +08:00
c99a29e702
At the moment ram device's memory regions are DEVICE_NATIVE_ENDIAN. It's incorrect. This memory region is backed by a MMIO area in host, so the uint64_t data that MemoryRegionOps read from/write to this area should be host-endian rather than target-endian. Hence, current code does not work when target and host endianness are different which is the most common case on PPC64. To fix it, this introduces DEVICE_HOST_ENDIAN for the ram device. This has been tested on PPC64 BE/LE host/guest in all possible combinations including TCG. Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Yongji Xie <xyjxie@linux.vnet.ibm.com> Message-Id: <1488171164-28319-1-git-send-email-xyjxie@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> |
||
---|---|---|
.. | ||
user | ||
address-spaces.h | ||
cpu_ldst_template.h | ||
cpu_ldst_useronly_template.h | ||
cpu_ldst.h | ||
cpu-all.h | ||
cpu-common.h | ||
cpu-defs.h | ||
cputlb.h | ||
exec-all.h | ||
gdbstub.h | ||
gen-icount.h | ||
helper-gen.h | ||
helper-head.h | ||
helper-proto.h | ||
helper-tcg.h | ||
hwaddr.h | ||
ioport.h | ||
log.h | ||
memattrs.h | ||
memory-internal.h | ||
memory.h | ||
poison.h | ||
ram_addr.h | ||
ramlist.h | ||
semihost.h | ||
softmmu-semi.h | ||
tb-context.h | ||
tb-hash-xx.h | ||
tb-hash.h |