Ejemplo n.º 1
0
static void interrupt_handler(struct trapframe *tf)
{
	extern clock_int_handler(void *);
	extern serial_int_handler(void *);
	int i;
	for (i = 0; i < 8; i++) {
		if (tf->tf_cause & (1 << (CAUSEB_IP + i))) {
			switch (i) {
      case 2: //D9000_IRQ
        dm9000_interrupt_handler();
        break;
			case TIMER0_IRQ:
				clock_int_handler(NULL);
				break;
			case COM1_IRQ:
				serial_int_handler(NULL);
				break;
			default:
				print_trapframe(tf);
				panic("Unknown interrupt!");
			}
		}
	}

}
Ejemplo n.º 2
0
Archivo: 1.c Proyecto: TySag/project
static void interrupt_handler(struct trapframe *tf)
{
  extern clock_int_handler(void*);
  extern serial_int_handler(void*);
  extern keyboard_int_handler();
  int i;
  for(i=0;i<8;i++){
    if(tf->tf_cause & (1<<(CAUSEB_IP+i))){
      switch(i){
        case TIMER0_IRQ:
          clock_int_handler(NULL);
          break;
        case COM1_IRQ:
          //kprintf("COM1_IRQ!\n");
          serial_int_handler(NULL);
          break;
        case KEYBOARD_IRQ:
          //kprintf("KEYBOARD\n");
          keyboard_int_handler();
          break;
        default:
          print_trapframe(tf);
          panic("Unknown interrupt!");
      }
    }
  }

}