Changeset add04f7 in mainline for kernel/arch/ia32/include/barrier.h
- Timestamp:
- 2009-03-03T15:20:49Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f24d300
- Parents:
- deca67b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/include/barrier.h
rdeca67b radd04f7 27 27 */ 28 28 29 /** @addtogroup ia32 29 /** @addtogroup ia32 30 30 * @{ 31 31 */ … … 47 47 */ 48 48 49 #define CS_ENTER_BARRIER() 50 #define CS_LEAVE_BARRIER() 49 #define CS_ENTER_BARRIER() asm volatile ("" ::: "memory") 50 #define CS_LEAVE_BARRIER() asm volatile ("" ::: "memory") 51 51 52 52 static inline void cpuid_serialization(void) … … 60 60 61 61 #if defined(CONFIG_FENCES_P4) 62 # define memory_barrier()asm volatile ("mfence\n" ::: "memory")63 # define read_barrier()asm volatile ("lfence\n" ::: "memory")64 #ifdef CONFIG_WEAK_MEMORY65 # define write_barrier()asm volatile ("sfence\n" ::: "memory")66 #else67 # define write_barrier() asm volatile("" ::: "memory");68 #endif62 #define memory_barrier() asm volatile ("mfence\n" ::: "memory") 63 #define read_barrier() asm volatile ("lfence\n" ::: "memory") 64 #ifdef CONFIG_WEAK_MEMORY 65 #define write_barrier() asm volatile ("sfence\n" ::: "memory") 66 #else 67 #define write_barrier() asm volatile ("" ::: "memory"); 68 #endif 69 69 #elif defined(CONFIG_FENCES_P3) 70 # define memory_barrier()cpuid_serialization()71 # define read_barrier()cpuid_serialization()72 #ifdef CONFIG_WEAK_MEMORY73 # define write_barrier()asm volatile ("sfence\n" ::: "memory")74 #else75 # define write_barrier() asm volatile("" ::: "memory");76 #endif70 #define memory_barrier() cpuid_serialization() 71 #define read_barrier() cpuid_serialization() 72 #ifdef CONFIG_WEAK_MEMORY 73 #define write_barrier() asm volatile ("sfence\n" ::: "memory") 74 #else 75 #define write_barrier() asm volatile ("" ::: "memory"); 76 #endif 77 77 #else 78 # define memory_barrier()cpuid_serialization()79 # define read_barrier()cpuid_serialization()80 #ifdef CONFIG_WEAK_MEMORY81 # define write_barrier()cpuid_serialization()82 #else83 # define write_barrier() asm volatile("" ::: "memory");84 #endif78 #define memory_barrier() cpuid_serialization() 79 #define read_barrier() cpuid_serialization() 80 #ifdef CONFIG_WEAK_MEMORY 81 #define write_barrier() cpuid_serialization() 82 #else 83 #define write_barrier() asm volatile ("" ::: "memory"); 84 #endif 85 85 #endif 86 86 … … 91 91 * sufficient for them to drain to the D-cache). 92 92 */ 93 #define smc_coherence(a) 94 #define smc_coherence_block(a, l) 93 #define smc_coherence(a) write_barrier() 94 #define smc_coherence_block(a, l) write_barrier() 95 95 96 96 #endif
Note:
See TracChangeset
for help on using the changeset viewer.