Lines Matching refs:number
398 void do_IRQ(struct pt_regs *rsp, ul number) in do_IRQ() argument
401 if (number < 0x80 && number >= 32) // 以0x80为界限,低于0x80的是外部中断控制器,高于0x80的是Local APIC in do_IRQ()
404 irq_desc_t *irq = &interrupt_desc[number - 32]; in do_IRQ()
408 irq->handler(number, irq->parameter, rsp); in do_IRQ()
413 irq->controller->ack(number); in do_IRQ()
417 else if (number >= 200) in do_IRQ()
419 apic_local_apic_edge_ack(number); in do_IRQ()
422 irq_desc_t *irq = &SMP_IPI_desc[number - 200]; in do_IRQ()
424 irq->handler(number, irq->parameter, rsp); in do_IRQ()
427 else if (number >= 150 && number < 200) in do_IRQ()
429 irq_desc_t *irq = &local_apic_interrupt_desc[number - 150]; in do_IRQ()
433 irq->handler(number, irq->parameter, rsp); in do_IRQ()
438 irq->controller->ack(number); in do_IRQ()
445 kwarn("do IRQ receive: %d", number); in do_IRQ()
462 if (current_pcb->flags & PF_NEED_SCHED && number == APIC_TIMER_IRQ_NUM) in do_IRQ()