Messages in this thread | | | Subject | FRV/ARM unaligned access question | From | Harvey Harrison <> | Date | Wed, 08 Oct 2008 00:26:13 -0700 |
| |
David, Russell,
I noticed that frv/arm are the only two arches that currently use open-coded byteshifting routines for both the cpu endianness and the other endianness whereas just about all the other arches use a packed-struct version for the cpu-endian and then the byteshifting versions (lifted from arm) for the other endianness.
For frv, this was due to the consolidation of unaligned access helpers which removed the assembly version. For ARM, I think it was done this way as the kernel could be compiled for either endianness and so it was just easiest to always have the byteshifting versions around.
>From the comments in the ARM version, time was spent to make sure the byteshifting helpers used a small amount or registers. Was there a known problem with the packed-struct implementation on ARM that made you choose to use byte-shifting or was it just done this way to more easily support compiling for different endianness?
If there isn't an issue I'm missing, could ARM/FRV move over to the packed-struct version?
Cheers,
Harvey
| |