* the rights to redistribute these changes.
*/
+#ifdef KERNEL_PRIVATE
+
#ifndef _PPC_LOCK_H_
#define _PPC_LOCK_H_
-#include <sys/appleapiopts.h>
-
-#ifdef __APPLE_API_PRIVATE
+#ifdef MACH_KERNEL_PRIVATE
#include <kern/macro_help.h>
#include <kern/assert.h>
+#include <mach_ldebug.h>
+#include <ppc/locks.h>
-extern unsigned int LockTimeOut; /* Number of hardware ticks of a lock timeout */
-
-#if defined(MACH_KERNEL_PRIVATE)
-
-#include <cpus.h>
-
-#if !(NCPUS == 1 || ETAP_LOCK_TRACE || USLOCK_DEBUG)
+#if !MACH_LDEBUG
+typedef lck_mtx_t mutex_t;
+#else
+typedef lck_mtx_ext_t mutex_t;
+#endif /* !MACH_LDEBUG */
-#include <ppc/hw_lock_types.h>
+#if !MACH_LDEBUG
+typedef lck_rw_t lock_t;
+#else
+typedef lck_rw_ext_t lock_t;
+#endif /* !MACH_LDEBUG */
-#define simple_lock_init(l,t) hw_lock_init(l)
-#define __slock_held_func__(l) hw_lock_held(l)
-
-extern void fast_usimple_lock(simple_lock_t);
-extern void fast_usimple_unlock(simple_lock_t);
-extern unsigned int fast_usimple_lock_try(simple_lock_t);
-
-#define simple_lock(l) fast_usimple_lock(l)
-#define simple_unlock(l) fast_usimple_unlock(l)
-#define simple_lock_try(l) fast_usimple_lock_try(l)
-#define simple_lock_addr(l) (&(l))
-#define thread_sleep_simple_lock(l, e, i) \
- thread_sleep_fast_usimple_lock((l), (e), (i))
-
-#endif /* !(NCPUS == 1 || ETAP_LOCK_TRACE || USLOCK_DEBUG) */
+extern unsigned int LockTimeOut; /* Number of hardware ticks of a lock timeout */
-#endif /* MACH_KERNEL_PRIVATE */
+#define mutex_unlock(l) mutex_unlock_rwcmb(l)
-#endif /* __APPLE_API_PRIVATE */
+#endif /* MACH_KERNEL_PRIVATE */
#endif /* _PPC_LOCK_H_ */
+
+#endif /* KERNEL_PRIVATE */