6510d41954
Unaligned access is ok for the following arches: cris, m68k, mn10300, powerpc, s390, x86 Arches that use the memmove implementation for native endian, and the byteshifting for the opposite endianness. h8300, m32r, xtensa Packed struct for native endian, byteshifting for other endian: alpha, blackfin, ia64, parisc, sparc, sparc64, mips, sh m86knommu is generic_be for Coldfire, otherwise unaligned access is ok. frv, arm chooses endianness based on compiler settings, uses the byteshifting versions. Remove the unaligned trap handler from frv as it is now unused. v850 is le, uses the byteshifting versions for both be and le. Remove the now unused asm-generic implementation. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Acked-by: David S. Miller <davem@davemloft.net> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
22 lines
633 B
C
22 lines
633 B
C
#ifndef _ASM_AVR32_UNALIGNED_H
|
|
#define _ASM_AVR32_UNALIGNED_H
|
|
|
|
/*
|
|
* AVR32 can handle some unaligned accesses, depending on the
|
|
* implementation. The AVR32 AP implementation can handle unaligned
|
|
* words, but halfwords must be halfword-aligned, and doublewords must
|
|
* be word-aligned.
|
|
*
|
|
* However, swapped word loads must be word-aligned so we can't
|
|
* optimize word loads in general.
|
|
*/
|
|
|
|
#include <linux/unaligned/be_struct.h>
|
|
#include <linux/unaligned/le_byteshift.h>
|
|
#include <linux/unaligned/generic.h>
|
|
|
|
#define get_unaligned __get_unaligned_be
|
|
#define put_unaligned __put_unaligned_be
|
|
|
|
#endif /* _ASM_AVR32_UNALIGNED_H */
|