aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/system.h
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-07-07 17:49:47 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-07-07 17:49:47 +0000
commit40828c657dd0c9e654d143393b4ca81b6d23ed76 (patch)
tree1d6d02d6389fedbc09cb69fb6909b60acfc84db3 /xen/include/asm-x86/system.h
parentb2d94974603e025dfe4b4258ca70f3030956b044 (diff)
downloadxen-40828c657dd0c9e654d143393b4ca81b6d23ed76.tar.gz
xen-40828c657dd0c9e654d143393b4ca81b6d23ed76.tar.bz2
xen-40828c657dd0c9e654d143393b4ca81b6d23ed76.zip
bitkeeper revision 1.1041.18.1 (40ec37bbEfVooGtkbbrgCf3ZWEhJEg)
More x86_64 stuff. Now links, but a bunch of stuff is stubbed out. Will it run? :-)
Diffstat (limited to 'xen/include/asm-x86/system.h')
-rw-r--r--xen/include/asm-x86/system.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/include/asm-x86/system.h b/xen/include/asm-x86/system.h
index b854d1b058..ff88ed4692 100644
--- a/xen/include/asm-x86/system.h
+++ b/xen/include/asm-x86/system.h
@@ -131,6 +131,7 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
* If no fault occurs then _o is updated to teh value we saw at _p. If this
* is the same as the initial value of _o then _n is written to location _p.
*/
+#ifdef __i386__
#define cmpxchg_user(_p,_o,_n) \
({ \
int _rc; \
@@ -150,6 +151,9 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
: "memory"); \
_rc; \
})
+#else
+#define cmpxchg_user(_p,_o,_n) ({ __asm__ __volatile__ ( "" : : "r" (_p), "r" (_o), "r" (_n) ); BUG(); 0; })
+#endif
/*
* Force strict CPU ordering.