aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2010-02-03 09:36:29 -0500
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2010-02-03 09:36:29 -0500
commit1c21007bbcb62829b12dc7271fdbc183c4ca1aa2 (patch)
tree42147175eff5b4bf4ec2b109969d349ccb296b28 /include
parentfc001302538dea0e8a67afb732f2daa1f18358dd (diff)
Add initial support x86-64 ASM header.
Diffstat (limited to 'include')
-rw-r--r--include/asm.h5
-rw-r--r--include/asm_x86.h (renamed from include/asm_i386.h)6
2 files changed, 8 insertions, 3 deletions
diff --git a/include/asm.h b/include/asm.h
index a58622e..bc15fae 100644
--- a/include/asm.h
+++ b/include/asm.h
@@ -3,10 +3,11 @@
3#ifndef ASM_H 3#ifndef ASM_H
4#define ASM_H 4#define ASM_H
5 5
6#ifdef __i386__ 6#if defined(__i386__) || defined(__x86_64__)
7#include "asm_i386.h" 7#include "asm_x86.h"
8#endif 8#endif
9 9
10
10#ifdef __sparc__ 11#ifdef __sparc__
11#include "asm_sparc.h" 12#include "asm_sparc.h"
12#endif 13#endif
diff --git a/include/asm_i386.h b/include/asm_x86.h
index e077ddc..b5bf166 100644
--- a/include/asm_i386.h
+++ b/include/asm_x86.h
@@ -8,7 +8,7 @@
8 8
9static inline void barrier(void) 9static inline void barrier(void)
10{ 10{
11 __asm__ __volatile__("sfence": : :"memory"); 11 __asm__ __volatile__("mfence": : :"memory");
12} 12}
13 13
14static __inline__ void cpu_relax(void) 14static __inline__ void cpu_relax(void)
@@ -16,6 +16,9 @@ static __inline__ void cpu_relax(void)
16 __asm__ __volatile("pause"); 16 __asm__ __volatile("pause");
17} 17}
18 18
19
20#ifdef __i386__
21
19typedef struct { int counter; } atomic_t; 22typedef struct { int counter; } atomic_t;
20 23
21#define ATOMIC_INIT(i) { (i) } 24#define ATOMIC_INIT(i) { (i) }
@@ -66,3 +69,4 @@ static __inline__ int atomic_add_return(int i, atomic_t *v)
66#define atomic_inc_return(v) (atomic_add_return(1,v)) 69#define atomic_inc_return(v) (atomic_add_return(1,v))
67 70
68 71
72#endif