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