Changeset e2ec980f in mainline for arch/ia32/include/barrier.h


Ignore:
Timestamp:
2005-11-09T01:21:46Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b183865e
Parents:
0b5ac364
Message:

ia64 work.
Big cleanup of IA-64 interrupt processing.
Merge of interrupt.c and interrupt_handler.c.
Rewrite of ivt.S and interrupt.c.
Higher level interrupt handlers are now passed a vector number and a pointer to stack structure.

ia32 work.
ia32 has ordered writes. Until it deploys weaker memory ordering model, write_barrier() can be empty statement.

File:
1 edited

Legend:

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

    r0b5ac364 re2ec980f  
    5656
    5757#ifdef CONFIG_FENCES_P4
    58 #       define memory_barrier() __asm__ volatile ("mfence\n" ::: "memory")
     58#       define memory_barrier()         __asm__ volatile ("mfence\n" ::: "memory")
    5959#       define read_barrier()           __asm__ volatile ("lfence\n" ::: "memory")
    60 #       define write_barrier()          __asm__ volatile ("sfence\n" ::: "memory")
     60#       ifdef CONFIG_WEAK_MEMORY
     61#               define write_barrier()  __asm__ volatile ("sfence\n" ::: "memory")
     62#       else
     63#               define write_barrier()
     64#       endif
    6165#elif CONFIG_FENCES_P3
    6266#       define memory_barrier()         cpuid_serialization()
    6367#       define read_barrier()           cpuid_serialization()
    64 #       define write_barrier()          __asm__ volatile ("sfence\n" ::: "memory")
     68#       ifdef CONFIG_WEAK_MEMORY
     69#               define write_barrier()  __asm__ volatile ("sfence\n" ::: "memory")
     70#       else
     71#               define write_barrier()
     72#       endif
    6573#else
    6674#       define memory_barrier()         cpuid_serialization()
    6775#       define read_barrier()           cpuid_serialization()
    68 #       define write_barrier()          cpuid_serialization()
     76#       ifdef CONFIG_WEAK_MEMORY
     77#               define write_barrier()  cpuid_serialization()
     78#       else
     79#               define write_barrier()
     80#       endif
    6981#endif
    7082
Note: See TracChangeset for help on using the changeset viewer.