Subject: Re: kern/31323: vge on !i386 is broken.
To: None <gnats-bugs@netbsd.org>
From: Murata Shuuichirou <mrt@notwork.org>
List: netbsd-bugs
Date: 09/17/2005 03:08:09
In message <87ll1xle1t.fsf@fons-adae.s.notwork.org>,
 `mrt@notwork.org' wrote:
> So, I can't say "my patch is correct", yet.  I'll test vge without
> VGE_FIXUP_RX against amd64 machine, later today.

It works fine for me without VGE_FIXUP_RX, so I think VGE_FIXUP_RX
is not needed for non strict alignment architectures.  Therefore,
following patch is enough to fix the problem and previous one
should be discarded.
-- 
MURATA Shuuichirou

Index: if_vgevar.h
===================================================================
RCS file: /home/mrt/src/netbsdcvs/src/sys/dev/pci/if_vgevar.h,v
retrieving revision 1.1
diff -u -r1.1 if_vgevar.h
--- if_vgevar.h	20 Feb 2005 18:34:33 -0000	1.1
+++ if_vgevar.h	16 Sep 2005 15:49:50 -0000
@@ -32,7 +32,7 @@
  * $FreeBSD: src/sys/dev/vge/if_vgevar.h,v 1.2 2005/01/06 01:43:31 imp Exp $
  */
 
-#if !defined(__i386__)
+#ifndef __NO_STRICT_ALIGNMENT
 #define VGE_FIXUP_RX
 #endif
 
@@ -143,9 +143,8 @@
 #define VGE_LOCK_ASSERT(x)	/* nothing */
 #endif
 
-/* adjusting size of mbuf is not necessary on NetBSD */
 #ifndef ETHER_ALIGN
-#  define	ETHER_ALIGN	0
+#  define	ETHER_ALIGN	2
 #endif
 
 #define	VGE_POWER_MANAGEMENT	0	/* disabled for now */