34 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/****************************************************************************
 | 
						|
 ****************************************************************************
 | 
						|
 ***
 | 
						|
 ***   This header was automatically generated from a Linux kernel header
 | 
						|
 ***   of the same name, to make information necessary for userspace to
 | 
						|
 ***   call into the kernel available to libc.  It contains only constants,
 | 
						|
 ***   structures, and macros generated from the original header, and thus,
 | 
						|
 ***   contains no copyrightable information.
 | 
						|
 ***
 | 
						|
 ****************************************************************************
 | 
						|
 ****************************************************************************/
 | 
						|
#ifndef __ASM_SYSTEM_H
 | 
						|
#define __ASM_SYSTEM_H
 | 
						|
 | 
						|
#include <linux/kernel.h>
 | 
						|
#include <asm/segment.h>
 | 
						|
#include <asm/cpufeature.h>
 | 
						|
#include <asm/cmpxchg.h>
 | 
						|
 | 
						|
#define nop() __asm__ __volatile__ ("nop")
 | 
						|
#define mb() alternative("lock; addl $0,0(%%esp)", "mfence", X86_FEATURE_XMM2)
 | 
						|
#define rmb() alternative("lock; addl $0,0(%%esp)", "lfence", X86_FEATURE_XMM2)
 | 
						|
#define wmb() alternative("lock; addl $0,0(%%esp)", "sfence", X86_FEATURE_XMM)
 | 
						|
#define read_barrier_depends() do { } while(0)
 | 
						|
#define smp_mb() barrier()
 | 
						|
#define smp_rmb() barrier()
 | 
						|
#define smp_wmb() barrier()
 | 
						|
#define smp_read_barrier_depends() do { } while(0)
 | 
						|
#define set_mb(var, value) do { var = value; barrier(); } while (0)
 | 
						|
#include <linux/irqflags.h>
 | 
						|
#define HAVE_DISABLE_HLT
 | 
						|
 | 
						|
#endif
 |