Changeset add04f7 in mainline for kernel/arch/ia32/include/barrier.h


Ignore:
Timestamp:
2009-03-03T15:20:49Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f24d300
Parents:
deca67b
Message:

better inline assembler readability using the new symbolic syntax

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/include/barrier.h

    rdeca67b radd04f7  
    2727 */
    2828
    29 /** @addtogroup ia32   
     29/** @addtogroup ia32
    3030 * @{
    3131 */
     
    4747 */
    4848
    49 #define CS_ENTER_BARRIER()      asm volatile ("" ::: "memory")
    50 #define CS_LEAVE_BARRIER()      asm volatile ("" ::: "memory")
     49#define CS_ENTER_BARRIER()  asm volatile ("" ::: "memory")
     50#define CS_LEAVE_BARRIER()  asm volatile ("" ::: "memory")
    5151
    5252static inline void cpuid_serialization(void)
     
    6060
    6161#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_MEMORY
    65 #               define write_barrier()  asm volatile ("sfence\n" ::: "memory")
    66 #       else
    67 #               define write_barrier()  asm volatile( "" ::: "memory");
    68 #       endif
     62        #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
    6969#elif defined(CONFIG_FENCES_P3)
    70 #       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
     70        #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
    7777#else
    78 #       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
     78        #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
    8585#endif
    8686
     
    9191 * sufficient for them to drain to the D-cache).
    9292 */
    93 #define smc_coherence(a)                write_barrier()
    94 #define smc_coherence_block(a, l)       write_barrier()
     93#define smc_coherence(a)           write_barrier()
     94#define smc_coherence_block(a, l)  write_barrier()
    9595
    9696#endif
Note: See TracChangeset for help on using the changeset viewer.