
23 Jun
2012
23 Jun
'12
9:50 p.m.
Albert ARIBAUD albert.u.boot@aribaud.net writes:
I cannot see how enabling a hardware feature can be seen as allowing of lax behaviour. As some of the USB structs are used to access hardware registers, we can not align every struct there.
If the access is in true RAM, then we can always realign the data; and I don't know of memory-mapped registers which would be unaligned wrt their width. If some USB controller is designed so, then the fix should only and explicitly affect that controller, because we don't know it it will always be used with an ARM implementation that can do unaligned accesses.
The ARM architecture does not permit unaligned accesses to strongly ordered or device memory, so MMIO register accesses are always aligned.
--
Måns Rullgård
mans@mansr.com