Subversion Repositories HelenOS

Rev

Rev 2071 | Rev 3134 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2071 Rev 2082
Line 39... Line 39...
39
 * TODO: Implement true IA-64 memory barriers for macros below.
39
 * TODO: Implement true IA-64 memory barriers for macros below.
40
 */
40
 */
41
#define CS_ENTER_BARRIER()  memory_barrier()
41
#define CS_ENTER_BARRIER()  memory_barrier()
42
#define CS_LEAVE_BARRIER()  memory_barrier()
42
#define CS_LEAVE_BARRIER()  memory_barrier()
43
 
43
 
44
#define memory_barrier()    __asm__ volatile ("mf\n" ::: "memory")
44
#define memory_barrier()    asm volatile ("mf\n" ::: "memory")
45
#define read_barrier()      memory_barrier()
45
#define read_barrier()      memory_barrier()
46
#define write_barrier()     memory_barrier()
46
#define write_barrier()     memory_barrier()
47
 
47
 
48
#define srlz_i()        __asm__ volatile (";; srlz.i ;;\n" ::: "memory")
48
#define srlz_i()        asm volatile (";; srlz.i ;;\n" ::: "memory")
49
#define srlz_d()        __asm__ volatile (";; srlz.d\n" ::: "memory")
49
#define srlz_d()        asm volatile (";; srlz.d\n" ::: "memory")
50
 
50
 
51
#endif
51
#endif
52
 
52
 
53
/** @}
53
/** @}
54
 */
54
 */