Use the new mem barrier funcs from the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25184 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -44,9 +44,13 @@ typedef vint32 MM_ATOMIC_T;
|
|||||||
#ifdef __INTEL__
|
#ifdef __INTEL__
|
||||||
#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory")
|
#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory")
|
||||||
#else
|
#else
|
||||||
|
#ifdef __HAIKU__
|
||||||
|
#define mb() memory_write_barrier()
|
||||||
|
#else
|
||||||
#warning no memory barrier function defined.
|
#warning no memory barrier function defined.
|
||||||
#define mb()
|
#define mb()
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#define wmb() mb()
|
#define wmb() mb()
|
||||||
|
|
||||||
#define readl(addr) (*(volatile unsigned int *) __io_virt(addr))
|
#define readl(addr) (*(volatile unsigned int *) __io_virt(addr))
|
||||||
|
|||||||
@@ -44,9 +44,13 @@ typedef vint32 MM_ATOMIC_T;
|
|||||||
#ifdef __INTEL__
|
#ifdef __INTEL__
|
||||||
#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory")
|
#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory")
|
||||||
#else
|
#else
|
||||||
|
#ifdef __HAIKU__
|
||||||
|
#define mb() memory_write_barrier()
|
||||||
|
#else
|
||||||
#warning no memory barrier function defined.
|
#warning no memory barrier function defined.
|
||||||
#define mb()
|
#define mb()
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#define wmb() mb()
|
#define wmb() mb()
|
||||||
#define rmb() mb()
|
#define rmb() mb()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user