Re: [PATCH] fix ehci alignment error

From: Måns Rullgård
Date: Mon Oct 10 2011 - 14:41:57 EST


Greg KH <gregkh@xxxxxxx> writes:

> On Mon, Oct 10, 2011 at 07:31:26PM +0200, Mikael Pettersson wrote:
>> Greg KH writes:
>> > On Mon, Oct 10, 2011 at 05:29:13PM +0100, Måns Rullgård wrote:
>> > > Greg KH <gregkh@xxxxxxx> 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@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/