6 get_spinlock(volatile lispobj *word, long value)
8 #ifdef LISP_FEATURE_SB_THREAD
9 unsigned long __old = (volatile lispobj)*word;
13 __asm__ __volatile__ (
17 "1: ll %[__prev],%[__mem]\n"
18 " bne %[__prev],%[__old],2f\n"
20 " move %[__cmp],%[__new]\n"
21 " sc %[__cmp],%[__mem]\n"
27 : [__prev] "=&r" (__prev),
29 : [__mem] "R" (*word),
35 lose("recursive get_spinlock: 0x%x,%d\n", word, value);
36 #else /* LISP_FEATURE_SB_THREAD */
42 release_spinlock(volatile lispobj *word)
44 #ifdef LISP_FEATURE_SB_THREAD
45 __asm__ __volatile__ (
55 #else /* LISP_FEATURE_SB_THREAD */
60 unsigned int arch_get_fp_control(void);
61 void arch_set_fp_control(unsigned int fp);
63 #endif /* _MIPS_ARCH_H */