Ejemplo n.º 1
0
void create_timer(u32int freq)
{
  //we want 1000 hz
  u32int divide = 1193180 / 1193;
  out(0x43, 0x36);
  out(0x40, (u8int)(divide & 0xFF));
  out(0x40, (u8int)((divide >> 8) & 0xFF));
  
  add_interrupt(IRQ0, (void*)&timer_IRQ);
}
Ejemplo n.º 2
0
void
add_interrupt_array(const struct startup_intrinfo *intrs, unsigned size) {
	unsigned	i;
	unsigned	incr;

	incr = sizeof(*intrs);
	//
	//Backwards compatability stuff - can be removed once
	//all the startups have been recompiled with the new startup_intrinfo
	//structure
	//
	if((size % sizeof(*intrs)) != 0) {
		incr -= sizeof(void *);
	}
	for(i = size / incr; i > 0; --i) {
		add_interrupt(intrs);
		intrs = (void *)((uintptr_t)intrs + incr);
	}
}