qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 1/2] memory: make adjust_endianness() generic


From: Greg Kurz
Subject: [Qemu-devel] [PATCH 1/2] memory: make adjust_endianness() generic
Date: Fri, 13 Mar 2015 09:11:18 +0100
User-agent: StGit/0.17-dirty

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 <address@hidden>
---
 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])) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]