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

compiler-intel.h (949B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __LINUX_COMPILER_TYPES_H
      3#error "Please don't include <linux/compiler-intel.h> directly, include <linux/compiler.h> instead."
      4#endif
      5
      6#ifdef __ECC
      7
      8/* Compiler specific definitions for Intel ECC compiler */
      9
     10#include <asm/intrinsics.h>
     11
     12/* Intel ECC compiler doesn't support gcc specific asm stmts.
     13 * It uses intrinsics to do the equivalent things.
     14 */
     15
     16#define barrier() __memory_barrier()
     17#define barrier_data(ptr) barrier()
     18
     19#define RELOC_HIDE(ptr, off)					\
     20  ({ unsigned long __ptr;					\
     21     __ptr = (unsigned long) (ptr);				\
     22    (typeof(ptr)) (__ptr + (off)); })
     23
     24/* This should act as an optimization barrier on var.
     25 * Given that this compiler does not have inline assembly, a compiler barrier
     26 * is the best we can do.
     27 */
     28#define OPTIMIZER_HIDE_VAR(var) barrier()
     29
     30#endif
     31
     32/* icc has this, but it's called _bswap16 */
     33#define __HAVE_BUILTIN_BSWAP16__
     34#define __builtin_bswap16 _bswap16