MOXA linux-2.6.x / linux-2.6.9-uc0 from sdlinux-moxaart.tgz
[linux-2.6.9-moxart.git] / include / asm-parisc / unaligned.h
blob1527637aad36033e95d1381e114dfc07d92a0607
1 #ifndef _ASM_PARISC_UNALIGNED_H_
2 #define _ASM_PARISC_UNALIGNED_H_
4 /* parisc can't handle unaligned accesses. */
5 /* copied from asm-sparc/unaligned.h */
7 #include <linux/string.h>
10 /* Use memmove here, so gcc does not insert a __builtin_memcpy. */
12 #define get_unaligned(ptr) \
13 ({ __typeof__(*(ptr)) __tmp; memmove(&__tmp, (ptr), sizeof(*(ptr))); __tmp; })
15 #define put_unaligned(val, ptr) \
16 ({ __typeof__(*(ptr)) __tmp = (val); \
17 memmove((ptr), &__tmp, sizeof(*(ptr))); \
18 (void)0; })
21 #ifdef __KERNEL__
22 struct pt_regs;
23 void handle_unaligned(struct pt_regs *regs);
24 int check_unaligned(struct pt_regs *regs);
25 #endif
27 #endif /* _ASM_PARISC_UNALIGNED_H_ */