Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 422 → Rev 423

/SPARTAN/trunk/arch/ia32/include/barrier.h
43,8 → 43,18
#define CS_ENTER_BARRIER() __asm__ volatile ("" ::: "memory")
#define CS_LEAVE_BARRIER() __asm__ volatile ("" ::: "memory")
 
#ifdef __STRONG_ORDERING__
 
#define memory_barrier()
#define read_barrier()
#define write_barrier()
 
#else
 
#define memory_barrier() __asm__ volatile ("mfence\n" ::: "memory")
#define read_barrier() __asm__ volatile ("sfence\n" ::: "memory")
#define write_barrier() __asm__ volatile ("lfence\n" ::: "memory")
 
#endif
 
#endif