[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121011085302.GM4625@n2100.arm.linux.org.uk>
Date: Thu, 11 Oct 2012 09:53:02 +0100
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: David Laight <David.Laight@...LAB.COM>
Cc: Måns Rullgård <mans@...sr.com>,
Jon Masters <jonathan@...masters.org>, netdev@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: alignment faults in 3.6
On Thu, Oct 11, 2012 at 09:21:35AM +0100, David Laight wrote:
> It might be enough to use __attribute__((aligned(2))) on some structure
> members (actually does 'ldm' need 8 byte alignment?? - in which case
> aligned(4) is enough).
No, ldm just needs 4 byte alignment, the same as normal word loads/stores
not to fault. The only instructions which needs 8 byte alignment not to
fault are the double-word load/stores.
> One on my bugbears is hardware that will once receive ethernet frames
> onto a 4n boundary - it needs to be 4n+2. two bytes of 'junk' will do.
Indeed, but remember that is just a mere optimisation for IPv4. What
may be true of IPv4 is not necessarily true of other protocols, though
IPv4 is currently the dominant protocol today. IPv6 follows the same
alignment rules as IPv4, so it's unlikely to change.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists