32、中断处理:原理、探测与处理程序实现

中断处理:原理、探测与处理程序实现

1. 中断资源统计

在深入探讨中断处理之前,先来看一些中断资源的统计信息:
| 中断号 | 计数1 | 计数2 | 描述 |
| ---- | ---- | ---- | ---- |
| 80 | 4 | 2 | IO - SAPIC - edge keyboard |
| 89 | 0 | 0 | IO - SAPIC - edge PS/2 Mouse |
| 239 | 5606341 | 5606052 | SAPIC timer |
| 254 | 67575 | 52815 | SAPIC IPI |
| NMI | 0 | 0 | 不可屏蔽中断 |
| ERR | 0 | 无 | 错误中断 |

这些统计信息能让我们对系统中不同类型中断的发生频率有一个初步的了解。

2. 自动检测中断号

在驱动程序初始化时,确定设备将使用的中断请求(IRQ)线是一个关键问题。驱动程序需要这个信息来正确安装中断处理程序。虽然可以要求用户在加载驱动时指定中断号,但这不是一个好做法,因为大多数用户并不清楚这个号码。因此,自动检测中断号是驱动程序可用性的基本要求。

2.1 基于默认行为的检测

有些设备具有很少改变的默认行为。以并行端口的 short 驱动为例,如果 short_irq 未指定(小于 0),则根据 short_base 的值来分配默认的中断号:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值