Message ID | 1354974282-1915-20-git-send-email-agraf@suse.de |
---|---|
State | New |
Headers | show |
On Sat, Dec 08, 2012 at 02:44:42PM +0100, Alexander Graf wrote: > 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> > CC: Michael S. Tsirkin <mst@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> > --- > hw/msix.c | 6 ++---- > 1 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/hw/msix.c b/hw/msix.c > index 136ef09..b57ae60 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, > -- > 1.6.0.2
diff --git a/hw/msix.c b/hw/msix.c index 136ef09..b57ae60 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,
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> CC: Michael S. Tsirkin <mst@redhat.com> --- hw/msix.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-)