cvs commit: src/sys/net if_ethersubr.c
John-Mark Gurney
gurney_j at resnet.uoregon.edu
Tue Dec 12 10:42:32 PST 2006
Luigi Rizzo wrote this message on Tue, Dec 12, 2006 at 06:24 -0800:
> On Tue, Dec 12, 2006 at 03:17:59PM +0100, Bernd Walter wrote:
> > On Tue, Dec 12, 2006 at 05:57:56AM -0800, Luigi Rizzo wrote:
> ...
> > > then i suppose the proper fix is to revert to m_copy() and
> > > work on if_simloop() so that 1. it handles a readonly chain, and
> > > 2. when doing so, it passes up a properly aligned packet...
> >
> > Can't comment on this, as I don't have enough knowledge about network
> > code.
> > According to the xscale report it was likely never properly aligned,
> > the alignment obviously just moved with your change.
> >
> > > however note that there is already some code in net/if_loop.c::if_simloop(),
> > > just that it uses this:
> > >
> > > #if defined(__ia64__) || defined(__sparc64__)
> ...
> > > to detect whether the architecture is alignment-sensitive.
> > > Is there any other identifier that we can use to check ?
> >
> > I wonder how many of these are missing __arm__?
>
> and this is why i wonder if there is a generic identifier
> that we can use to provide alignment.
How about?
#define __NO_STRICT_ALIGNMENT
It's already defined for amd64 and i386, so all you have to do it test
that it isn't defined...
--
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."
More information about the cvs-src
mailing list