[PATCH] fix ehci alignment error
From: Måns Rullgård <hidden>
Date: 2011-10-10 18:41:58
Also in:
lkml
Greg KH [off-list ref] writes:
On Mon, Oct 10, 2011 at 07:31:26PM +0200, Mikael Pettersson wrote:quoted
Greg KH writes: > On Mon, Oct 10, 2011 at 05:29:13PM +0100, M?ns Rullg?rd wrote: > > Greg KH [off-list ref] writes: > > > > > On Mon, Oct 10, 2011 at 02:38:27PM +0200, Harro Haan wrote: > > >> The Kirkwood gave an unaligned memory access error on > > >> line 742 of drivers/usb/host/echi-hcd.c: > > >> "ehci->last_periodic_enable = ktime_get_real();" > > > > > > What is "The Kirkwood"? What size processor is this? > > > > It's an ARM926-like CPU from Marvell. > > 32 or 64bit? All ARMs are 32-bit, but some have instructions for loading or storing 2 x 32 bits at a time, but also require the corresponding memory address to be 64-bit aligned.
To be perfectly accurate, all ARMs have the dual load/store instructions, but only some (ARMv5 and earlier) require a 64-bit aligned address for these. The Kirkwood is an ARMv5 so it does need this alignment. Furthermore, the standard ARM ABI requires 8-byte alignment for 64-bit data types regardless of CPU version, which is perhaps a bit unusual for a 32-bit architecture. -- M?ns Rullg?rd mans at mansr.com