cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

swab.h (995B)


      1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2/*
      3 * Copyright (C) 2012 Tobias Klauser <tklauser@distanz.ch>
      4 * Copyright (C) 2011 Pyramid Technical Consultants, Inc.
      5 *
      6 * This file is subject to the terms and conditions of the GNU General
      7 * Public License. See the file COPYING in the main directory of this
      8 * archive for more details.
      9 */
     10
     11#ifndef _ASM_NIOS2_SWAB_H
     12#define _ASM_NIOS2_SWAB_H
     13
     14#include <linux/types.h>
     15#include <asm-generic/swab.h>
     16
     17#ifdef CONFIG_NIOS2_CI_SWAB_SUPPORT
     18#ifdef __GNUC__
     19
     20#define __nios2_swab(x)		\
     21	__builtin_custom_ini(CONFIG_NIOS2_CI_SWAB_NO, (x))
     22
     23static inline __attribute__((const)) __u16 __arch_swab16(__u16 x)
     24{
     25	return (__u16) __nios2_swab(((__u32) x) << 16);
     26}
     27#define __arch_swab16 __arch_swab16
     28
     29static inline __attribute__((const)) __u32 __arch_swab32(__u32 x)
     30{
     31	return (__u32) __nios2_swab(x);
     32}
     33#define __arch_swab32 __arch_swab32
     34
     35#endif /* __GNUC__ */
     36#endif /* CONFIG_NIOS2_CI_SWAB_SUPPORT */
     37
     38#endif /* _ASM_NIOS2_SWAB_H */