【中断处理例程】
中断处理器例程即中断处理函数,其作用是根据被服务的中断的含义进行适当的操作,通常是读、写数据。中断处理例程与普通C函数没有什么差别,但是中断处理装置有以下限制:
中断处理装置不能与用户空间传递数据,因为它不在进程上下文执行;
中断处理程序也不能做任何可能休眠的事情,例如,调用wait_event(),除了使用GFP_ATOMIC之外的任何东西来分配内存,或者锁住一个信号量;
中断处理例程不能调用schedule()。
中断处理例程的第一步常常包括清除设备的一个中断标志位,大部分硬件设备在清除”中断挂起“位前不会再产生中断。这也要根据硬件的工作原理决定,这一步也可能需要最后做而不是开始,没有通用的规则。一些设备不需要这一步,因为他们没有中断挂起位。