memory: Single byte swap along the I/O path
commit9bf825bf3df4ebae3af51566c8088e3f1249a910
authorTony Nguyen <tony.nguyen@bt.com>
Fri, 23 Aug 2019 18:36:54 +0000 (24 04:36 +1000)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 3 Sep 2019 15:30:39 +0000 (3 08:30 -0700)
tree1d6d1d8a389a7da714c8021bb5f1d256c5d64987
parentbe5c4787e9a6eed12fd765d9e890f7cc6cd63220
memory: Single byte swap along the I/O path

Now that MemOp has been pushed down into the memory API, and
callers are encoding endianness, we can collapse byte swaps
along the I/O path into the accelerator and target independent
adjust_endianness.

Collapsing byte swaps along the I/O path enables additional endian
inversion logic, e.g. SPARC64 Invert Endian TTE bit, with redundant
byte swaps cancelling out.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Tony Nguyen <tony.nguyen@bt.com>
Message-Id: <911ff31af11922a9afba9b7ce128af8b8b80f316.1566466906.git.tony.nguyen@bt.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
accel/tcg/cputlb.c
exec.c
hw/virtio/virtio-pci.c
memory.c
memory_ldst.inc.c