Example #1
0
File: leds.c Project: MarginC/kame
/*
 * This is called early during startup to find the
 * diag register (LEDs) and turn on the light(s).
 */
void
leds_init()
{

#ifdef	_SUN3X_
	diagreg = obio_find_mapping(OBIO_DIAGREG, 1);
	if (cpu_machine_id == SUN3X_MACH_80)
		ledpat.patlen = 1;
#endif	/* SUN3X */

	/* Turn on some lights. */
	leds_intr();
}
/*
 * Clock interrupt handler.
 * This is called by the "custom" interrupt handler.
 *
 * from sun3/sun3x/clock.c -tsutsui
 */
void
clock_intr(struct clockframe *cf)
{
#ifdef	LED_IDLE_CHECK
	extern char _Idle[];	/* locore.s */
#endif

	/* Pulse the clock intr. enable low. */
	*ctrl_timer = 0;
	*ctrl_timer = 1;
	intrcnt[TIMER_LEVEL]++;

	/* Entertainment! */
#ifdef	LED_IDLE_CHECK
	if (cf.cf_pc == (long)_Idle)
#endif
		leds_intr();

	/* Call common clock interrupt handler. */
	hardclock(cf);
	curcpu()->ci_data.cpu_nintr++;
}