void clock(Ureg *ureg) { wrcompare(rdcount()+m->maxperiod); /* side-effect: dismiss intr */ silencewdog(); timerintr(ureg, 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); }
static void clockintr(Ureg *ureg, void *) { Systimers *tn; tn = (Systimers*)SYSTIMERS; /* dismiss interrupt */ tn->cs = 1<<3; timerintr(ureg, 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); }
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); }
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(); }