예제 #1
0
파일: clock.c 프로젝트: Earnestly/plan9
void
clock(Ureg *ureg)
{
	wrcompare(rdcount()+m->maxperiod);	/* side-effect: dismiss intr */
	silencewdog();
	timerintr(ureg, 0);
}
예제 #2
0
static void
localclockintr(Ureg *ureg, void *)
{
	if(m->machno == 0)
		panic("cpu0: Unexpected local generic timer interrupt");
	cpwrsc(0, CpTIMER, CpTIMERphys, CpTIMERphysctl, Imask|Enable);
	timerintr(ureg, 0);
}
예제 #3
0
파일: clock.c 프로젝트: 99years/plan9
static void
clockintr(Ureg *ureg, void *)
{
	Systimers *tn;

	tn = (Systimers*)SYSTIMERS;
	/* dismiss interrupt */
	tn->cs = 1<<3;
	timerintr(ureg, 0);
}
예제 #4
0
static void
clockintr(Ureg *ureg, void *)
{
	Systimers *tn;

	if(m->machno != 0)
		panic("cpu%d: unexpected system timer interrupt", m->machno);
	tn = (Systimers*)SYSTIMERS;
	/* dismiss interrupt */
	tn->cs = 1<<3;
	timerintr(ureg, 0);
}
예제 #5
0
void
saturntimerintr(Ureg *u, void*)
{
	ushort ctl = *(ushort*)Timer_ctrl, v = 0;

	if(ctl&T1_event){
		v = T1_event;
		ticks++;
	}
		
	*(ushort*)Timer_ctrl = timer_ctl|T0_event|v;
	intack();
	timerintr(u, 0);
}
예제 #6
0
파일: clock.c 프로젝트: CoryXie/NxM
static void
clockintr(Ureg* ureg, void *arg)
{
	Timerregs *tn;
	static int nesting;

	ticks++;
	coherence();

	if (nesting == 0) {	/* if the clock interrupted itself, bail out */
		++nesting;
		timerintr(ureg, 0);
		--nesting;
	}

	tn = arg;
	tn->tisr = Ovf_it;			/* dismiss the interrupt */
	coherence();
}