Rev 1860 | Rev 2047 | 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 | /* |