Rev 457 | Rev 469 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 457 | Rev 468 | ||
---|---|---|---|
Line 41... | Line 41... | ||
41 | */ |
41 | */ |
42 | 42 | ||
43 | #define CS_ENTER_BARRIER() __asm__ volatile ("" ::: "memory") |
43 | #define CS_ENTER_BARRIER() __asm__ volatile ("" ::: "memory") |
44 | #define CS_LEAVE_BARRIER() __asm__ volatile ("" ::: "memory") |
44 | #define CS_LEAVE_BARRIER() __asm__ volatile ("" ::: "memory") |
45 | 45 | ||
46 | #if (FENCES == p4) |
46 | #ifdef CONFIG_FENCES_P4 |
47 | # define memory_barrier() __asm__ volatile ("mfence\n" ::: "memory") |
47 | # define memory_barrier() __asm__ volatile ("mfence\n" ::: "memory") |
48 | # define read_barrier() __asm__ volatile ("sfence\n" ::: "memory") |
48 | # define read_barrier() __asm__ volatile ("lfence\n" ::: "memory") |
49 | # define write_barrier() __asm__ volatile ("lfence\n" ::: "memory") |
49 | # define write_barrier() __asm__ volatile ("sfence\n" ::: "memory") |
50 | #elif (FENCES == p3) |
50 | #elif CONFIG_FENCES_P3 |
51 | # define memory_barrier() __asm__ volatile ("xchgl %%eax,%%eax\n" ::: "memory") |
51 | # define memory_barrier() __asm__ volatile ("\n" ::: "memory") |
52 | # define read_barrier() __asm__ volatile ("sfence\n" ::: "memory") |
52 | # define read_barrier() __asm__ volatile ("\n" ::: "memory") |
53 | # define write_barrier() __asm__ volatile ("xchgl %%eax,%%eax\n" ::: "memory") |
53 | # define write_barrier() __asm__ volatile ("sfence\n" ::: "memory") |
54 | #else |
- | |
55 | # error Unsupported FENCES value |
- | |
56 | #endif |
54 | #endif |
57 | 55 | ||
58 | #endif |
56 | #endif |