Subject: Re: kern/31323: vge on !i386 is broken.
To: Murata Shuuichirou <mrt@notwork.org>
From: Martin Husemann <martin@duskware.de>
List: netbsd-bugs
Date: 09/16/2005 08:57:15
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