summary refs log tree commit diff stats
path: root/hw/msix.c
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2012-12-06 04:11:33 +0100
committerAlexander Graf <agraf@suse.de>2012-12-14 13:12:57 +0100
commit68d1e1f52d73ddcec4b0358f269d9a8c2ea216d9 (patch)
tree06c4df157882d8c65c16692a45783170570982c0 /hw/msix.c
parent997505065dc92e533debf5cb23012ba4e673d387 (diff)
downloadfocaccia-qemu-68d1e1f52d73ddcec4b0358f269d9a8c2ea216d9.tar.gz
focaccia-qemu-68d1e1f52d73ddcec4b0358f269d9a8c2ea216d9.zip
MSI-X: Fix endianness
The MSI-X vector tables are usually stored in little endian in memory,
so let's mark the accessors as such.

This fixes MSI-X on e500 for me.

Signed-off-by: Alexander Graf <agraf@suse.de>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to '')
-rw-r--r--hw/msix.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/hw/msix.c b/hw/msix.c
index 136ef09373..b57ae60491 100644
--- a/hw/msix.c
+++ b/hw/msix.c
@@ -180,8 +180,7 @@ static void msix_table_mmio_write(void *opaque, hwaddr addr,
 static const MemoryRegionOps msix_table_mmio_ops = {
     .read = msix_table_mmio_read,
     .write = msix_table_mmio_write,
-    /* TODO: MSIX should be LITTLE_ENDIAN. */
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_LITTLE_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,
@@ -198,8 +197,7 @@ static uint64_t msix_pba_mmio_read(void *opaque, hwaddr addr,
 
 static const MemoryRegionOps msix_pba_mmio_ops = {
     .read = msix_pba_mmio_read,
-    /* TODO: MSIX should be LITTLE_ENDIAN. */
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_LITTLE_ENDIAN,
     .valid = {
         .min_access_size = 4,
         .max_access_size = 4,