Linux内核中中断处理程序的返回值 [英] Return value of interrupt handlers in linux kernel

查看:338
本文介绍了Linux内核中中断处理程序的返回值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

中断处理程序是异步发生的,因此不能被其他函数调用.然后,为什么Linux内核中的中断处理程序返回一个值?输入参数如何传递给它?

Interrupt handlers occur asynchronously and hence cannot be called by other functions. Then, why do interrupt handlers in the linux kernel return a value ? How are the input arguments passed to it ?

推荐答案

中断处理程序具有返回值的原因有两个.

Interrupt handlers have a return value for a couple of reasons.

  1. 中断向量可以在多个设备之间共享.通过返回IRQ_NONE/IRQ_HANDLED,中断处理程序可以指示该中断来自/不是来自其特别感兴趣的设备.如果返回IRQ_NONE,则应调用列表中的下一个处理程序.
  2. 即使不共享IRQ,中断处理程序也可以向中断子系统指示在处理中断时存在问题,因此应将其禁用以防止系统因irq循环而挂起.

这篇关于Linux内核中中断处理程序的返回值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆