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

asm_goto_workaround.h (725B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* Copyright (c) 2019 Facebook */
      3#ifndef __ASM_GOTO_WORKAROUND_H
      4#define __ASM_GOTO_WORKAROUND_H
      5
      6/*
      7 * This will bring in asm_volatile_goto and asm_inline macro definitions
      8 * if enabled by compiler and config options.
      9 */
     10#include <linux/types.h>
     11
     12#ifdef asm_volatile_goto
     13#undef asm_volatile_goto
     14#define asm_volatile_goto(x...) asm volatile("invalid use of asm_volatile_goto")
     15#endif
     16
     17/*
     18 * asm_inline is defined as asm __inline in "include/linux/compiler_types.h"
     19 * if supported by the kernel's CC (i.e CONFIG_CC_HAS_ASM_INLINE) which is not
     20 * supported by CLANG.
     21 */
     22#ifdef asm_inline
     23#undef asm_inline
     24#define asm_inline asm
     25#endif
     26
     27#define volatile(x...) volatile("")
     28#endif