Subversion Repositories HelenOS

Rev

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

Rev 1860 Rev 1891
Line 39... Line 39...
39
 * TODO: Implement true SPARC V9 memory barriers for macros below.
39
 * TODO: Implement true SPARC V9 memory barriers for macros below.
40
 */
40
 */
41
#define CS_ENTER_BARRIER()  __asm__ volatile ("" ::: "memory")
41
#define CS_ENTER_BARRIER()  __asm__ volatile ("" ::: "memory")
42
#define CS_LEAVE_BARRIER()  __asm__ volatile ("" ::: "memory")
42
#define CS_LEAVE_BARRIER()  __asm__ volatile ("" ::: "memory")
43
 
43
 
44
#define memory_barrier()
44
#define memory_barrier()    __asm__ volatile ("membar #LoadLoad | #StoreStore\n" ::: "memory")
45
#define read_barrier()
45
#define read_barrier()      __asm__ volatile ("membar #LoadLoad\n" ::: "memory")
46
#define write_barrier()
46
#define write_barrier()     __asm__ volatile ("membar #StoreStore\n" ::: "memory")
47
 
47
 
48
/** Flush Instruction Memory instruction. */
48
/** Flush Instruction Memory instruction. */
49
static inline void flush(void)
49
static inline void flush(void)
50
{
50
{
51
    /*
51
    /*