Subject: Re: kern/31323: vge on !i386 is broken.
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Martin Husemann <martin@duskware.de>
List: netbsd-bugs
Date: 09/16/2005 06:58:02
The following reply was made to PR kern/31323; it has been noted by GNATS.
From: Martin Husemann <martin@duskware.de>
To: Murata Shuuichirou <mrt@notwork.org>
Cc: gnats-bugs@netbsd.org, kern-bug-people@netbsd.org,
gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: kern/31323: vge on !i386 is broken.
Date: Fri, 16 Sep 2005 08:57:15 +0200
On Fri, Sep 16, 2005 at 03:30:54PM +0900, Murata Shuuichirou wrote:
> 1. What is ETHER_ALIGN, and why ETHER_ALIGN is used here.
> 2. Whether amd64 needs whole VGE_FIXUP_RX or not.
2 is harder to answer - I don't understand the comment in if_vge.c:1042 at
all. How would 32bit alignment of the rx buffer make the received data
unaligned? What does the chip prepend to the data and what size is it?
1 is easier: ETHER_ALIGN is a define in if_vgevar.h and it's wrong. It probably
was 2 on FreeBSD (for the two bytes the VGE_FIXUP_RX moves the buffer content
around) and someone eroneosly changed it to 0 for NetBSD.
Martin