File: /usr/src/linux/include/asm-parisc/unaligned.h
1 #ifndef _ASM_PARISC_UNALIGNED_H_
2 #define _ASM_PARISC_UNALIGNED_H_
3
4 /* parisc can't handle unaligned accesses. */
5 /* copied from asm-sparc/unaligned.h */
6
7 #include <linux/string.h>
8
9
10 /* Use memmove here, so gcc does not insert a __builtin_memcpy. */
11
12 #define get_unaligned(ptr) \
13 ({ __typeof__(*(ptr)) __tmp; memmove(&__tmp, (ptr), sizeof(*(ptr))); __tmp; })
14
15 #define put_unaligned(val, ptr) \
16 ({ __typeof__(*(ptr)) __tmp = (val); \
17 memmove((ptr), &__tmp, sizeof(*(ptr))); \
18 (void)0; })
19
20 #endif /* _ASM_PARISC_UNALIGNED_H */
21