lock_t
typedef lock_t tsl_t;
lock_t *volatile *tlpp = &t->t_lockp;
lock_t *lp = *tlpp;
lock_t *volatile *tlpp = &t->t_lockp;
lock_t *lp = *tlpp;
lock_t *l;
lock_t *l;
# define KMUTEX_T lock_t
# define kmutex_t lock_t /* for pfil.h */
# define krwlock_t lock_t /* for pfil.h */
# define KRWLOCK_T lock_t
# define KMUTEX_T lock_t
# define SLEEP(id, n) { lock_t *_l = get_sleep_lock((caddr_t)id); \
# define WAKEUP(id,x) { lock_t *_l = get_sleep_lock((caddr_t)id); \
lock_t *l;
lock_t dthr_lock; /* lock for this element */
dumpsys_spinlock(lock_t *lp)
dumpsys_spinunlock(lock_t *lp)
lock_t spinlock; /* panic mode spin lock */
lock_t helper_lock; /* protect helper state */
lock_set_spin(lock_t *lp)
lock_set_spl_spin(lock_t *lp, int new_pil, ushort_t *old_pil_addr, int old_pil)
static lock_t turnstile_loser_lock;
turnstile_interlock(lock_t *wlp, lock_t *volatile *olpp)
volatile lock_t *olp = *olpp;
if (lock_try((lock_t *)olp)) {
lock_clear((lock_t *)olp);
if (olp >= (lock_t *)turnstile_table && olp < wlp) {
lock_set((lock_t *)olp);
lock_clear((lock_t *)olp);
lock_t unix_bb_lock;
#define DISP_LOCK_INIT(lp) LOCK_INIT_CLEAR((lock_t *)(lp))
#define DISP_LOCK_HELD(lp) LOCK_HELD((lock_t *)(lp))
lock_t t_lock; /* used to resume() a thread */
lock_t t_lock_flush; /* for lock_mutex_flush() impl */
lock_t apix_lock;
lock_t apic_ioapic_lock;
static lock_t apic_defer_reprogram_lock;
static lock_t apic_revector_lock;
lock_t apic_mode_switch_lock;
lock_t apic_gethrtime_lock;
lock_t apic_nmi_lock;
lock_t apic_error_lock;
static lock_t uppc_gethrtime_lock;
lock_set_spl((lock_t *)&shadow_hres_lock + HRES_LOCK_OFFSET,
extern lock_t apic_ioapic_lock;
extern lock_t apic_mode_switch_lock;
extern lock_t apic_gethrtime_lock;
extern lock_t apic_nmi_lock;
extern lock_t apic_error_lock;
lock_t x_lock;
extern lock_t apix_lock;
(lock_t *)&hres_lock + HRES_LOCK_OFFSET);
lock_set_spl((lock_t *)&hres_lock + HRES_LOCK_OFFSET, \
static lock_t apic_defer_reprogram_lock;
static lock_t apic_revector_lock;
static lock_t xen_psm_nmi_lock;
extern void lock_set(lock_t *lp);
extern int lock_try(lock_t *lp);
extern int lock_spin_try(lock_t *lp);
extern int ulock_try(lock_t *lp);
extern void lock_clear(lock_t *lp);
extern void ulock_clear(lock_t *lp);
extern void lock_set_spl(lock_t *lp, int new_pil, ushort_t *old_pil);
extern void lock_clear_splx(lock_t *lp, int s);
#define LOCK_HELD(lp) (*(volatile lock_t *)(lp) != 0)
typedef lock_t disp_lock_t; /* dispatcher lock type */
lock_t m_dummylock; /* 0 dummy lock (always set) */
lock_t m_spinlock; /* 1 real lock */
lock_t cs_lock;
lock_t sfmmu_ctx_lock; /* sync ctx alloc and invalidation */
extern void lock_set(lock_t *lp);
extern int lock_try(lock_t *lp);
extern int lock_spin_try(lock_t *lp);
extern int ulock_try(lock_t *lp);
extern void ulock_clear(lock_t *lp);
extern void lock_clear(lock_t *lp);
extern void lock_set_spl(lock_t *lp, int new_pil, ushort_t *old_pil);
extern void lock_clear_splx(lock_t *lp, int s);
#define LOCK_HELD(lp) (*(volatile lock_t *)(lp) != 0)
typedef lock_t disp_lock_t; /* dispatcher lock type */
lock_t m_dummylock; /* 0 lock (always set) */
lock_t m_spinlock; /* 1 real lock */
lock_t m_spinlock; /* 6 real lock */
lock_t m_dummylock; /* 7 dummy lock (always set) */
lock_set_spl((lock_t *)&hres_lock + HRES_LOCK_OFFSET, \
(lock_t *)&hres_lock + HRES_LOCK_OFFSET);