linux-2.6.33/handle_irq()(x86)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#x84b3bc1]
#backlinks
*説明 [#td6b07b4]
-パス: [[linux-2.6.33/arch/x86/kernel/irq_32.c]]
-FIXME: これは何?
--説明
**引数 [#yd1409b0]
-unsigned irq
--
-struct pt_regs *regs
--
--[[linux-2.6.33/pt_regs]]
**返り値 [#e5df9aef]
-bool
--割り込みを処理したときは true、そうでなければ false
**参考 [#ef0acb4a]
*実装 [#ta24b8f1]
bool handle_irq(unsigned irq, struct pt_regs *regs)
{
struct irq_desc *desc;
int overflow;
-
--[[linux-2.6.33/irq_desc]]
overflow = check_stack_overflow();
-
--[[linux-2.6.33/check_stack_overflow()]]
desc = irq_to_desc(irq);
if (unlikely(!desc))
return false;
-
--[[linux-2.6.33/irq_to_desc()]]
--[[linux-2.6.33/unlikely()]]
if (!execute_on_irq_stack(overflow, desc, irq)) {
-
--[[linux-2.6.33/execute_on_irq_stack()]]
if (unlikely(overflow))
print_stack_overflow();
-
--[[linux-2.6.33/print_stack_overflow()]]
desc->handle_irq(irq, desc);
-
--handle_irq の型は irq_flow_handler_t である
--[[linux-2.6.33/irq_flow_handler_t]]
}
return true;
}
*コメント [#q1de3b69]
終了行:
*参照元 [#x84b3bc1]
#backlinks
*説明 [#td6b07b4]
-パス: [[linux-2.6.33/arch/x86/kernel/irq_32.c]]
-FIXME: これは何?
--説明
**引数 [#yd1409b0]
-unsigned irq
--
-struct pt_regs *regs
--
--[[linux-2.6.33/pt_regs]]
**返り値 [#e5df9aef]
-bool
--割り込みを処理したときは true、そうでなければ false
**参考 [#ef0acb4a]
*実装 [#ta24b8f1]
bool handle_irq(unsigned irq, struct pt_regs *regs)
{
struct irq_desc *desc;
int overflow;
-
--[[linux-2.6.33/irq_desc]]
overflow = check_stack_overflow();
-
--[[linux-2.6.33/check_stack_overflow()]]
desc = irq_to_desc(irq);
if (unlikely(!desc))
return false;
-
--[[linux-2.6.33/irq_to_desc()]]
--[[linux-2.6.33/unlikely()]]
if (!execute_on_irq_stack(overflow, desc, irq)) {
-
--[[linux-2.6.33/execute_on_irq_stack()]]
if (unlikely(overflow))
print_stack_overflow();
-
--[[linux-2.6.33/print_stack_overflow()]]
desc->handle_irq(irq, desc);
-
--handle_irq の型は irq_flow_handler_t である
--[[linux-2.6.33/irq_flow_handler_t]]
}
return true;
}
*コメント [#q1de3b69]
ページ名: