diff mbox

ne2000: mark I/O as LITTLE_ENDIAN

Message ID 1378120234-14062-1-git-send-email-aurelien@aurel32.net
State New
Headers show

Commit Message

Aurelien Jarno Sept. 2, 2013, 11:10 a.m. UTC
Now that the memory subsystem is propagating the endianness correctly,
the ne2000 device should have its I/O ports marked as LITTLE_ENDIAN, as
PCI devices are little endian.

This makes the ne2000 NIC to work again on PowerPC.

Cc: qemu-stable@nongnu.org
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 hw/net/ne2000.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stefan Hajnoczi Sept. 4, 2013, 8:39 a.m. UTC | #1
On Mon, Sep 02, 2013 at 01:10:34PM +0200, Aurelien Jarno wrote:
> Now that the memory subsystem is propagating the endianness correctly,
> the ne2000 device should have its I/O ports marked as LITTLE_ENDIAN, as
> PCI devices are little endian.
> 
> This makes the ne2000 NIC to work again on PowerPC.
> 
> Cc: qemu-stable@nongnu.org
> Cc: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
> ---
>  hw/net/ne2000.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
> index 31afd28..c961258 100644
> --- a/hw/net/ne2000.c
> +++ b/hw/net/ne2000.c
> @@ -693,7 +693,7 @@ static void ne2000_write(void *opaque, hwaddr addr,
>  static const MemoryRegionOps ne2000_ops = {
>      .read = ne2000_read,
>      .write = ne2000_write,
> -    .endianness = DEVICE_NATIVE_ENDIAN,
> +    .endianness = DEVICE_LITTLE_ENDIAN,
>  };

This is also used by hw/net/ne2000-isa.c:isa_ne2000_realizefn().  Is it
correct to explicitly say little-endian there?
Stefan Hajnoczi Sept. 6, 2013, 3:28 p.m. UTC | #2
On Wed, Sep 04, 2013 at 10:39:12AM +0200, Stefan Hajnoczi wrote:
> On Mon, Sep 02, 2013 at 01:10:34PM +0200, Aurelien Jarno wrote:
> > Now that the memory subsystem is propagating the endianness correctly,
> > the ne2000 device should have its I/O ports marked as LITTLE_ENDIAN, as
> > PCI devices are little endian.
> > 
> > This makes the ne2000 NIC to work again on PowerPC.
> > 
> > Cc: qemu-stable@nongnu.org
> > Cc: Stefan Hajnoczi <stefanha@redhat.com>
> > Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
> > ---
> >  hw/net/ne2000.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
> > index 31afd28..c961258 100644
> > --- a/hw/net/ne2000.c
> > +++ b/hw/net/ne2000.c
> > @@ -693,7 +693,7 @@ static void ne2000_write(void *opaque, hwaddr addr,
> >  static const MemoryRegionOps ne2000_ops = {
> >      .read = ne2000_read,
> >      .write = ne2000_write,
> > -    .endianness = DEVICE_NATIVE_ENDIAN,
> > +    .endianness = DEVICE_LITTLE_ENDIAN,
> >  };
> 
> This is also used by hw/net/ne2000-isa.c:isa_ne2000_realizefn().  Is it
> correct to explicitly say little-endian there?

Paolo has confirmed that ISA devices should be little-endian anyway.

Thanks, applied to my net tree.

Stefan
diff mbox

Patch

diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 31afd28..c961258 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -693,7 +693,7 @@  static void ne2000_write(void *opaque, hwaddr addr,
 static const MemoryRegionOps ne2000_ops = {
     .read = ne2000_read,
     .write = ne2000_write,
-    .endianness = DEVICE_NATIVE_ENDIAN,
+    .endianness = DEVICE_LITTLE_ENDIAN,
 };
 
 /***********************************************************/