/* * Set up the real-time and statistics clocks. * Leave stathz 0 only if no alternative timer is available. * * The frequencies of these clocks must be an even number of microseconds. */ void timer_init_4(void) { timerreg4->t_c10.t_limit = tmr_ustolim(tick); timerreg4->t_c14.t_limit = tmr_ustolim(statint); ienab_bis(IE_L14 | IE_L10); }
void zsclock_stint(struct zs_chanstate *cs, int force) { u_char rr0; rr0 = zs_read_csr(cs); cs->cs_rr0 = rr0; /* * Retrigger the interrupt as a soft interrupt, because we need * a trap frame for hardclock(). */ ienab_bis(IE_L10); zs_write_csr(cs, ZSWR0_RESET_STATUS); }