unaligned.h 553 B

12345678910111213141516171819202122232425
  1. #ifndef _ASM_M32R_UNALIGNED_H
  2. #define _ASM_M32R_UNALIGNED_H
  3. /* $Id$ */
  4. /* orig : generic 2.4.18 */
  5. /*
  6. * For the benefit of those who are trying to port Linux to another
  7. * architecture, here are some C-language equivalents.
  8. */
  9. #include <asm/string.h>
  10. #define get_unaligned(ptr) \
  11. ({ __typeof__(*(ptr)) __tmp; memmove(&__tmp, (ptr), sizeof(*(ptr))); __tmp; })
  12. #define put_unaligned(val, ptr) \
  13. ({ __typeof__(*(ptr)) __tmp = (val); \
  14. memmove((ptr), &__tmp, sizeof(*(ptr))); \
  15. (void)0; })
  16. #endif /* _ASM_M32R_UNALIGNED_H */