initial x86-64 host support (Gwenole Beauchesne)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@670 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2004-03-17 23:46:04 +00:00
parent 5069146392
commit bc51c5c989
17 changed files with 3623 additions and 1323 deletions

View file

@ -400,6 +400,20 @@ static inline int testandset (int *p)
}
#endif
#ifdef __x86_64__
static inline int testandset (int *p)
{
char ret;
int readval;
__asm__ __volatile__ ("lock; cmpxchgl %3, %1; sete %0"
: "=q" (ret), "=m" (*p), "=a" (readval)
: "r" (1), "m" (*p), "a" (0)
: "memory");
return ret;
}
#endif
#ifdef __s390__
static inline int testandset (int *p)
{