上一页 1 ··· 145 146 147 148 149 150 151 152 153 ··· 280 下一页
摘要: 如同前面建议的, 当内核收到一个中断, 所有的注册的处理者被调用. 一个共享的处理者 必须能够在它需要的处理的中断和其他设备产生的中断之间区分. 使用 shared=1 选项来加载 short 安装了下列处理者来代替缺省的: irqreturn_t short_sh_interrupt(int ir 阅读全文
posted @ 2019-07-06 12:19 樊伟胜 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 共享中断通过 request_irq 来安装就像不共享的一样, 但是有 2 个不同: SA_SHIRQ 位必须在 flags 参数中指定, 当请求中断时. dev_id 参数必须是独特的. 任何模块地址空间的指针都行, 但是 dev_id 明确地 不能设置为 NULL. 内核保持着一个与中断相关联的 阅读全文
posted @ 2019-07-06 12:14 樊伟胜 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 记住 tasklet 是一个特殊的函数, 可能被调度来运行, 在软中断上下文, 在一个系统决 定的安全时间中. 它们可能被调度运行多次, 但是 tasklet 调度不累积; ; tasklet 只 运行一次, 即便它在被投放前被重复请求. 没有 tasklet 会和它自己并行运行, 因为它 只运行一 阅读全文
posted @ 2019-07-06 12:13 樊伟胜 阅读(2582) 评论(0) 推荐(0) 编辑
摘要: 如果你需要禁止所有中断如何? 在 2.6 内核, 可能关闭在当前处理器上所有中断处理, 使用任一个下面 2 个函数(定义在 <asm/system.h>): 如果你需要禁止所有中断如何? 在 2.6 内核, 可能关闭在当前处理器上所有中断处理, 使用任一个下面 2 个函数(定义在 <asm/syst 阅读全文
posted @ 2019-07-06 12:11 樊伟胜 阅读(2096) 评论(0) 推荐(0) 编辑
摘要: 有时(但是很少!)一个驱动需要禁止一个特定中断线的中断递交. 内核提供了 3 个函数为 此目的, 所有都声明在 <asm/irq.h>. 这些函数是内核 API 的一部分, 因此我们描述它 们, 但是它们的使用在大部分驱动中不鼓励. 在其他的中, 你不能禁止共享的中断线, 并 且, 在现代的系统中, 阅读全文
posted @ 2019-07-06 12:10 樊伟胜 阅读(894) 评论(0) 推荐(0) 编辑
摘要: 老版本的 Linux 内核尽了很大努力来区分"快速"和"慢速"中断. 快速中断是那些能够很 快处理的, 而处理慢速中断要特别地长一些. 慢速中断可能十分苛求处理器, 并且它值得 在处理的时候重新使能中断. 否则, 需要快速注意的任务可能被延时太长. 在现代内核中, 快速和慢速中断的大部分不同已经消失 阅读全文
posted @ 2019-07-06 11:59 樊伟胜 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 探测也可以在驱动自身实现没有太大麻烦. 它是一个少有的驱动必须实现它自己的探测, 但是看它是如何工作的能够给出对这个过程的内部认识. 为此目的, short 模块进行 do- it-yourself 的 IRQ 线探测, 如果它使用 probe=2 加载. 这个机制与前面描述的相同: 使能所有未使用 阅读全文
posted @ 2019-07-06 11:58 樊伟胜 阅读(127) 评论(0) 推荐(0) 编辑
摘要: Linux 内核提供了一个低级设施来探测中断号. 它只为非共享中断, 但是大部分能够在共 享中断状态工作的硬件提供了更好的方法来尽量发现配置的中断号.这个设施包括 2 个函 数, 在<linux/interrupt.h> 中声明( 也描述了探测机制 ). unsigned long probe_ir 阅读全文
posted @ 2019-07-06 11:57 樊伟胜 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 驱动在初始化时最有挑战性的问题中的一个是如何决定设备要使用哪个 IRQ 线. 驱动需 要信息来正确安装处理. 尽管程序员可用请求用户在加载时指定中断号, 这是个坏做法, 因为大部分时间用户不知道这个号, 要么因为他不配置跳线要么因为设备是无跳线的. 大 驱动在初始化时最有挑战性的问题中的一个是如何决 阅读全文
posted @ 2019-07-06 11:56 樊伟胜 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 无论何时一个硬件中断到达处理器, 一个内部的计数器递增, 提供了一个方法来检查设备 是否如希望地工作. 报告的中断显示在 /proc/interrupts. 下面的快照取自一个双处理 器 Pentium 系统: root@montalcino:/bike/corbet/write/ldd3/src/ 阅读全文
posted @ 2019-07-06 11:55 樊伟胜 阅读(625) 评论(0) 推荐(0) 编辑
上一页 1 ··· 145 146 147 148 149 150 151 152 153 ··· 280 下一页