This patch just moves the decision to swap up to the callers. It changes no functionnality and will allow a subsequent patch to perform host endianness based swapping.
Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com> --- memory.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/memory.c b/memory.c index 20f6d9e..6291cc0 100644 --- a/memory.c +++ b/memory.c @@ -347,9 +347,9 @@ static bool memory_region_wrong_endianness(MemoryRegion *mr) #endif } -static void adjust_endianness(MemoryRegion *mr, uint64_t *data, unsigned size) +static void adjust_endianness(uint64_t *data, unsigned size, bool need_swap) { - if (memory_region_wrong_endianness(mr)) { + if (need_swap) { switch (size) { case 1: break; @@ -1083,7 +1083,7 @@ static bool memory_region_dispatch_read(MemoryRegion *mr, } *pval = memory_region_dispatch_read1(mr, addr, size); - adjust_endianness(mr, pval, size); + adjust_endianness(pval, size, memory_region_wrong_endianness(mr)); return false; } @@ -1097,7 +1097,7 @@ static bool memory_region_dispatch_write(MemoryRegion *mr, return true; } - adjust_endianness(mr, &data, size); + adjust_endianness(&data, size, memory_region_wrong_endianness(mr)); if (mr->ops->write) { access_with_adjusted_size(addr, &data, size, @@ -1565,7 +1565,7 @@ void memory_region_add_eventfd(MemoryRegion *mr, }; unsigned i; - adjust_endianness(mr, &mrfd.data, size); + adjust_endianness(&mrfd.data, size, memory_region_wrong_endianness(mr)); memory_region_transaction_begin(); for (i = 0; i < mr->ioeventfd_nb; ++i) { if (memory_region_ioeventfd_before(mrfd, mr->ioeventfds[i])) { @@ -1598,7 +1598,7 @@ void memory_region_del_eventfd(MemoryRegion *mr, }; unsigned i; - adjust_endianness(mr, &mrfd.data, size); + adjust_endianness(&mrfd.data, size, memory_region_wrong_endianness(mr)); memory_region_transaction_begin(); for (i = 0; i < mr->ioeventfd_nb; ++i) { if (memory_region_ioeventfd_equal(mrfd, mr->ioeventfds[i])) {