]> git.proxmox.com Git - mirror_qemu.git/blobdiff - memory.c
memory: add big endian support to access_with_adjusted_size
[mirror_qemu.git] / memory.c
index c72f56d472b6ceaad593fb7046956a0a43378120..679bd8d8b0a617c9ef4e8ee3401ad018a88ab819 100644 (file)
--- a/memory.c
+++ b/memory.c
@@ -362,8 +362,12 @@ static void access_with_adjusted_size(hwaddr addr,
     access_size = MAX(MIN(size, access_size_max), access_size_min);
     access_mask = -1ULL >> (64 - access_size * 8);
     for (i = 0; i < size; i += access_size) {
-        /* FIXME: big-endian support */
+#ifdef TARGET_WORDS_BIGENDIAN
+        access(opaque, addr + i, value, access_size,
+               (size - access_size - i) * 8, access_mask);
+#else
         access(opaque, addr + i, value, access_size, i * 8, access_mask);
+#endif
     }
 }