Home | History | Annotate | Download | only in asm
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ****************************************************************************
     11  ****************************************************************************/
     12 #ifndef __ASM_SYSTEM_H
     13 #define __ASM_SYSTEM_H
     14 
     15 #include <linux/kernel.h>
     16 #include <asm/segment.h>
     17 #include <asm/cpufeature.h>
     18 #include <asm/cmpxchg.h>
     19 
     20 #define nop() __asm__ __volatile__ ("nop")
     21 #define mb() alternative("lock; addl $0,0(%%esp)", "mfence", X86_FEATURE_XMM2)
     22 #define rmb() alternative("lock; addl $0,0(%%esp)", "lfence", X86_FEATURE_XMM2)
     23 #define wmb() alternative("lock; addl $0,0(%%esp)", "sfence", X86_FEATURE_XMM)
     24 #define read_barrier_depends() do { } while(0)
     25 #define smp_mb() barrier()
     26 #define smp_rmb() barrier()
     27 #define smp_wmb() barrier()
     28 #define smp_read_barrier_depends() do { } while(0)
     29 #define set_mb(var, value) do { var = value; barrier(); } while (0)
     30 #include <linux/irqflags.h>
     31 #define HAVE_DISABLE_HLT
     32 
     33 #endif
     34