Lines Matching refs:number
405 void do_IRQ(struct pt_regs *rsp, ul number) in do_IRQ() argument
408 if (number < 0x80 && number >= 32) // 以0x80为界限,低于0x80的是外部中断控制器,高于0x80的是Local APIC in do_IRQ()
411 irq_desc_t *irq = &interrupt_desc[number - 32]; in do_IRQ()
415 irq->handler(number, irq->parameter, rsp); in do_IRQ()
420 irq->controller->ack(number); in do_IRQ()
424 else if (number >= 200) in do_IRQ()
426 apic_local_apic_edge_ack(number); in do_IRQ()
429 irq_desc_t *irq = &SMP_IPI_desc[number - 200]; in do_IRQ()
431 irq->handler(number, irq->parameter, rsp); in do_IRQ()
434 else if (number >= 150 && number < 200) in do_IRQ()
436 irq_desc_t *irq = &local_apic_interrupt_desc[number - 150]; in do_IRQ()
440 irq->handler(number, irq->parameter, rsp); in do_IRQ()
445 irq->controller->ack(number); in do_IRQ()
452 kwarn("do IRQ receive: %d", number); in do_IRQ()
469 if (current_pcb->flags & PF_NEED_SCHED && number == APIC_TIMER_IRQ_NUM) in do_IRQ()