Пример #1
0
void
mtx_enter(struct mutex *mtx)
{
	if (mtx->mtx_wantipl != IPL_NONE)
		mtx->mtx_oldipl = _splraise(mtx->mtx_wantipl);
	MUTEX_ASSERT_UNLOCKED(mtx);
	mtx->mtx_lock = 1;
}
Пример #2
0
void
mtx_enter(struct mutex *mtx)
{
	if (mtx->mtx_wantipl != IPL_NONE)
		mtx->mtx_oldipl = _splraise(MD_IPLTOPSL(mtx->mtx_wantipl));

	MUTEX_ASSERT_UNLOCKED(mtx);
	mtx->mtx_lock = 1;
#ifdef DIAGNOSTIC
	curcpu()->ci_mutex_level++;
#endif
}
Пример #3
0
/*
 * Initialize interrupt dispatcher.
 */
void
s3c2xx0_intr_init(struct s3c2xx0_intr_dispatch * dispatch_table, int icu_len)
{
	int i;

	for (i = 0; i < icu_len; ++i) {
		dispatch_table[i].func = stray_interrupt;
		dispatch_table[i].cookie = (void *) (i);
		dispatch_table[i].level = IPL_BIO;
	}

	global_intr_mask = ~0;		/* no intr is globally blocked. */

	_splraise(IPL_SERIAL);
	enable_interrupts(I32_bit);
}
Пример #4
0
/*
 * Initialize interrupt dispatcher.
 */
void
s3c2xx0_intr_init(struct s3c2xx0_intr_dispatch * dispatch_table, int icu_len)
{
	int i;

	for (i = 0; i < icu_len; ++i) {
		dispatch_table[i].func = stray_interrupt;
		dispatch_table[i].cookie = (void *) (i);
		dispatch_table[i].level = IPL_VM;
		sprintf(dispatch_table[i].name, "irq %d", i);
		evcnt_attach_dynamic(&dispatch_table[i].ev, EVCNT_TYPE_INTR,
				     NULL, "s3c2xx0", dispatch_table[i].name);
	}

	global_intr_mask = ~0;		/* no intr is globally blocked. */

	_splraise(IPL_VM);
	enable_interrupts(I32_bit);
}