linux-2.6.33/asm_do_IRQ()(arm)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#ba0ba0a2]
#backlinks
*説明 [#jcf597a0]
-パス: [[linux-2.6.33/arch/arm/kernel/irq.c]]
-FIXME: これは何?
--説明
**引数 [#q0b10188]
-unsigned int irq
--
-struct pt_regs *regs
--
--[[linux-2.6.33/pt_regs]]
**返り値 [#ma52d6c6]
-なし
**参考 [#m44ecb05]
*実装 [#k2ce2478]
/*
* do_IRQ handles all hardware IRQ's. Decoded IRQs shou...
* come via this function. Instead, they should provide...
* own 'handler'
*/
asmlinkage void __exception asm_do_IRQ(unsigned int irq,...
{
-
--[[linux-2.6.33/asmlinkage]]
-
--[[linux-2.6.33/__exception]]
struct pt_regs *old_regs = set_irq_regs(regs);
-
--[[linux-2.6.33/set_irq_regs()]]
irq_enter();
-
--[[linux-2.6.33/irq_enter()]]
/*
* Some hardware gives randomly wrong interrupts. Rather
* than crashing, do something sensible.
*/
if (unlikely(irq >= NR_IRQS)) {
-
--[[linux-2.6.33/unlikely()]]
-
--[[linux-2.6.33/NR_IRQS]]
if (printk_ratelimit())
printk(KERN_WARNING "Bad IRQ%u\n", irq);
-
--[[linux-2.6.33/printk_ratelimit()]]
-
--[[linux-2.6.33/printk()]]
ack_bad_irq(irq);
-
--[[linux-2.6.33/ack_bad_irq()]]
} else {
generic_handle_irq(irq);
-
--[[linux-2.6.33/generic_handle_irq()]]
}
/* AT91 specific workaround */
irq_finish(irq);
-
--[[linux-2.6.33/irq_finish()]]
irq_exit();
set_irq_regs(old_regs);
-
--[[linux-2.6.33/irq_exit()]]
-
--[[linux-2.6.33/set_irq_regs()]]
}
*コメント [#d0a3f437]
終了行:
*参照元 [#ba0ba0a2]
#backlinks
*説明 [#jcf597a0]
-パス: [[linux-2.6.33/arch/arm/kernel/irq.c]]
-FIXME: これは何?
--説明
**引数 [#q0b10188]
-unsigned int irq
--
-struct pt_regs *regs
--
--[[linux-2.6.33/pt_regs]]
**返り値 [#ma52d6c6]
-なし
**参考 [#m44ecb05]
*実装 [#k2ce2478]
/*
* do_IRQ handles all hardware IRQ's. Decoded IRQs shou...
* come via this function. Instead, they should provide...
* own 'handler'
*/
asmlinkage void __exception asm_do_IRQ(unsigned int irq,...
{
-
--[[linux-2.6.33/asmlinkage]]
-
--[[linux-2.6.33/__exception]]
struct pt_regs *old_regs = set_irq_regs(regs);
-
--[[linux-2.6.33/set_irq_regs()]]
irq_enter();
-
--[[linux-2.6.33/irq_enter()]]
/*
* Some hardware gives randomly wrong interrupts. Rather
* than crashing, do something sensible.
*/
if (unlikely(irq >= NR_IRQS)) {
-
--[[linux-2.6.33/unlikely()]]
-
--[[linux-2.6.33/NR_IRQS]]
if (printk_ratelimit())
printk(KERN_WARNING "Bad IRQ%u\n", irq);
-
--[[linux-2.6.33/printk_ratelimit()]]
-
--[[linux-2.6.33/printk()]]
ack_bad_irq(irq);
-
--[[linux-2.6.33/ack_bad_irq()]]
} else {
generic_handle_irq(irq);
-
--[[linux-2.6.33/generic_handle_irq()]]
}
/* AT91 specific workaround */
irq_finish(irq);
-
--[[linux-2.6.33/irq_finish()]]
irq_exit();
set_irq_regs(old_regs);
-
--[[linux-2.6.33/irq_exit()]]
-
--[[linux-2.6.33/set_irq_regs()]]
}
*コメント [#d0a3f437]
ページ名: