linux中断流程问题

顾小林 2013-09-24 05:17:17
看linux中断1周了,我并不是想问简单的如何使用中断注册什么的,而是想明白中断的机制,不废话正题了。


都知道注册中断的过程

request_irq ->request_threaded_irq -> __setup_irq

然后中断响应的过程是

asm_do_IRQ -> generic_handle_irq -> generic_handle_irq_desc -> desc->handle_irq(irq, desc)

其中这个desc->handle_irq 可能是 以下几个函数
handle_simple_irq、handle_level_irq、handle_fasteoi_irq、handle_edge_irq、handle_edge_eoi_irq、handle_percpu_irq

我想知道的是,这个desc->handle_irq 是在什么时候被赋值的?

...全文
117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
顾小林 2013-10-10
  • 打赏
  • 举报
回复
好冷清。!~
顾小林 2013-09-24
  • 打赏
  • 举报
回复
来个人接分。
顾小林 2013-09-24
  • 打赏
  • 举报
回复
manage.c __irq_set_trigger chip->irq_set_type(&desc->irq_data, flags); 至于这个chip->irq_set_type 是跟平台有关的实现,在 irq驱动中实现。

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧