linux 中断 -- 片段记录
来源:互联网 发布:淘宝店铺代理怎么弄 编辑:程序博客网 时间:2024/05/17 04:35
Linux 中断 -- 片段记录
系统中断线是有限的。能由硬件直接触发的中断数量有限。但系统有级连分发机制。即可以在一个中断
handler中去分发以它为父IRQ的子IRQ。要支持一些IRQ,需要下面几个步骤:
1
定义一个struct irq_chip,主要实现下面一些Callbacks:
void (*ack)(unsigned int irq);
void (*mask)(unsigned int irq);
void (*mask_ack)(unsigned int irq);
void (*unmask)(unsigned int irq);
2 注册IRQ相关信息
set_irq_chip(i, &at91_aic_chip);
set_irq_handler(i, handle_level_irq);
set_irq_flags(i, IRQF_VALID | IRQF_PROBE);
3 request_irq()
绑定IRQ到某个IRQ handler。
4 分发处理
generic_handle_irq()直接触发中断
5 最后就转到Irq handler中。
中断上下文是不能sleep的。
6 要中断线程化,用request_threaded_irq()
中断传递过程:
硬件触发 --> CPU --> 中断向量表 --> 中断跳转表 --> 中断描述符表 --> 中断处理函数
参考:
http://www.ibm.com/developerworks/cn/linux/l-cn-linuxkernelint/
- linux 中断 -- 片段记录
- 简图记录-linux中断基础
- linux下查看中断请求记录 IRQ
- linux下查看中断请求记录 IRQ
- linux下查看中断请求记录
- N32926 Linux 中断 程序随笔记录 (转)
- linux下查看中断请求记录 IRQ
- linux内核中断原理博文记录
- Linux 点滴之init.s片段解析(个人点滴记录)
- 【记录】中断
- 杂记,片段记录
- Haproxy 配置片段记录
- Perl 代码片段记录
- 记录一下代码片段
- 黑马程序员------代码片段记录
- 实用代码片段---持续记录
- 【中断】:LINUX中断
- 中断过程(记录)
- postgresql中的主要进程
- 纪念两周年高考
- 闭包
- Hibernate+Spring+Struts2+ExtJS开发CRUD功能
- 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?
- linux 中断 -- 片段记录
- 调试soc3210的网卡驱动
- Android中短信的读取与拦截
- 手绘随笔:随笔(三)
- 二、工厂模式
- C#窗体操作数据库时使用按钮动态衔接上下一条的数据
- 电子专业相关书籍-日本人写书-求实,精练.都是好书
- c# 窗体全屏显示的完整范例
- WPF自定义标题栏——窗口移动和按钮状态转换