*参照元 [#ba0ba0a2]
#backlinks

*説明 [#jcf597a0]
-パス: 複数あり
--arm 版: [[linux-2.6.33/arch/arm/kernel/irq.c]]

-FIXME: これは何?
--説明


**引数 [#q0b10188]
-unsigned int irq
--
-struct pt_regs *regs
--

**返り値 [#ma52d6c6]
-
--

**参考 [#m44ecb05]


*実装 [#k2ce2478]
 /*
  * do_IRQ handles all hardware IRQ's.  Decoded IRQs should not
  * come via this function.  Instead, they should provide their
  * own 'handler'
  */
 asmlinkage void __exception asm_do_IRQ(unsigned int irq, struct pt_regs *regs)
 {
 	struct pt_regs *old_regs = set_irq_regs(regs);
 
 	irq_enter();
 
 	/*
 	 * Some hardware gives randomly wrong interrupts.  Rather
 	 * than crashing, do something sensible.
 	 */
 	if (unlikely(irq >= NR_IRQS)) {
 		if (printk_ratelimit())
 			printk(KERN_WARNING "Bad IRQ%u\n", irq);
 		ack_bad_irq(irq);
 	} else {
 		generic_handle_irq(irq);
 	}
 
 	/* AT91 specific workaround */
 	irq_finish(irq);
 
 	irq_exit();
 	set_irq_regs(old_regs);
 }


*コメント [#d0a3f437]



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS