diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-06-09 15:29:55 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-06-09 15:29:55 +0000 |
commit | a95c67907cce5b03269581b77f014ec51b98da36 (patch) | |
tree | 9420cb5a39a8c683db1e6ecf13b704cfdc5e7e6d /exec.h | |
parent | 0f533160c7f7ccd1ae421d5bce3850a1a5400bc1 (diff) |
arm support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@221 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'exec.h')
-rw-r--r-- | exec.h | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -246,6 +246,18 @@ static inline int testandset (int *p) } #endif +#ifdef __arm__ +static inline int testandset (int *spinlock) +{ + register unsigned int ret; + __asm__ __volatile__("swp %0, %1, [%2]" + : "=r"(ret) + : "0"(1), "r"(spinlock)); + + return ret; +} +#endif + typedef int spinlock_t; #define SPIN_LOCK_UNLOCKED 0 |