确定linux中的中断类型(边缘触发与级别触发)

确定linux中的中断类型(边缘触发与级别触发),linux,interrupt,kernel-module,interrupt-handling,Linux,Interrupt,Kernel Module,Interrupt Handling,我有一个Linux内核模块,它可以驱动一些中断驱动的定制硬件,多年来一直保持着良好的工作状态。现在我们升级了用于运行该软件的PC,并在运行了大约十个小时后出现了一些有线行为,看起来像是丢失了中断cat/proc/中断 5: 1 XT-PIC-XT bmc_interrupthandler0 在旧机器上,而新机器告诉我: 5: 1 IO-APIC-edge bmc_interrupthandler0 我是否理解正确,中断在旧机器上是水平触发的,而在新机器上是边缘触

我有一个Linux内核模块,它可以驱动一些中断驱动的定制硬件,多年来一直保持着良好的工作状态。现在我们升级了用于运行该软件的PC,并在运行了大约十个小时后出现了一些有线行为,看起来像是丢失了中断<代码>cat/proc/中断

5:   1  XT-PIC-XT      bmc_interrupthandler0 
在旧机器上,而新机器告诉我:

5:   1  IO-APIC-edge   bmc_interrupthandler0
  • 我是否理解正确,中断在旧机器上是水平触发的,而在新机器上是边缘触发的
  • 是否可以将行为从边缘触发切换到级别触发?如果是,是如何做到的
  • 一般来说,是否有必要以能够处理两种中断操作模式的方式编写驱动程序
  • 是否有一些关于linux中断处理的详细文档可以推荐
事情似乎比我最初想象的要复杂得多: