mutex_t *mutex,
unsigned short tag);
+#ifdef i386
+extern void mutex_try_spin(
+ mutex_t *mutex);
+
+extern void mutex_lock_spin(
+ mutex_t *mutex);
+
+extern void mutex_convert_spin(
+ mutex_t *mutex);
+#else
+#define mutex_try_spin(l) mutex_try(l)
+#define mutex_lock_spin(l) mutex_lock(l)
+#define mutex_convert_spin(l) do {} while (0)
+#endif
+
#endif /* MACH_KERNEL_PRIVATE */
extern mutex_t *mutex_alloc(
extern boolean_t mutex_try(
mutex_t *mutex);
-extern void mutex_pause(void);
+extern void mutex_pause(uint32_t);
+extern void mutex_yield(mutex_t *);
#define MA_OWNED 0x01
#define MA_NOTOWNED 0x02