linux-old/include/asm-sh64/unaligned.h
<<
>>
Prefs
   1#ifndef __ASM_SH64_UNALIGNED_H
   2#define __ASM_SH64_UNALIGNED_H
   3
   4/*
   5 * This file is subject to the terms and conditions of the GNU General Public
   6 * License.  See the file "COPYING" in the main directory of this archive
   7 * for more details.
   8 *
   9 * include/asm-sh64/unaligned.h
  10 *
  11 * Copyright (C) 2000, 2001  Paolo Alberelli
  12 *
  13 * SH can't handle unaligned accesses.
  14 *
  15 */
  16
  17#include <linux/string.h>
  18
  19
  20/* Use memmove here, so gcc does not insert a __builtin_memcpy. */
  21
  22#define get_unaligned(ptr) \
  23  ({ __typeof__(*(ptr)) __tmp; memmove(&__tmp, (ptr), sizeof(*(ptr))); __tmp; })
  24
  25#define put_unaligned(val, ptr)                         \
  26  ({ __typeof__(*(ptr)) __tmp = (val);                  \
  27     memmove((ptr), &__tmp, sizeof(*(ptr)));            \
  28     (void)0; })
  29
  30#endif /* __ASM_SH64_UNALIGNED_H */
  31
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.