Changeset 0187fd0 in mainline for arch/ia32/include/barrier.h


Ignore:
Timestamp:
2005-11-08T17:21:53Z (20 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0b5ac364
Parents:
0060b1d
Message:

fix IA-32 fences (½)

File:
1 edited

Legend:

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

    r0060b1d r0187fd0  
    4444#define CS_LEAVE_BARRIER()      __asm__ volatile ("" ::: "memory")
    4545
    46 #if (FENCES == p4)
     46#ifdef CONFIG_FENCES_P4
    4747#       define memory_barrier() __asm__ volatile ("mfence\n" ::: "memory")
    48 #       define read_barrier()           __asm__ volatile ("sfence\n" ::: "memory")
    49 #       define write_barrier()          __asm__ volatile ("lfence\n" ::: "memory")
    50 #elif (FENCES == p3)
    51 #       define memory_barrier() __asm__ volatile ("xchgl %%eax,%%eax\n" ::: "memory")
    52 #       define read_barrier()           __asm__ volatile ("sfence\n" ::: "memory")
    53 #       define write_barrier()          __asm__ volatile ("xchgl %%eax,%%eax\n" ::: "memory")
    54 #else
    55 #       error Unsupported FENCES value
     48#       define read_barrier()           __asm__ volatile ("lfence\n" ::: "memory")
     49#       define write_barrier()          __asm__ volatile ("sfence\n" ::: "memory")
     50#elif CONFIG_FENCES_P3
     51#       define memory_barrier() __asm__ volatile ("\n" ::: "memory")
     52#       define read_barrier()           __asm__ volatile ("\n" ::: "memory")
     53#       define write_barrier()          __asm__ volatile ("sfence\n" ::: "memory")
    5654#endif
    5755
Note: See TracChangeset for help on using the changeset viewer.