IDT和IRQ之间有什么联系?

时间:2014-01-05 11:14:05

标签: linux-kernel interrupt

我想拦截内核中的一些中断,然后用我的一些代码包装原始函数。主要用于学习目的。

我已经知道如何通过IDT(中断描述符表)拦截页面错误和双重错误,并且它可以正常工作。

所以现在我想拦截RTC,它在IRQ 8.我没有找到任何特定的东西,但在阅读了一些代码之后我认为IRQ在IDT内部,并且它从第32个入口开始(在代码IRQ = IDT+32;)中。所以我举了一个例子,我改变了IDT的第40个条目,但没有任何反应。 (以防万一,我在更改0x3a条目时再次运行它,即使我很确定它是十进制的 - 没有任何反应。)

所以我的问题:

  • 我是对的,IRQ = IDT + 32? (如果没有,调度IRQ的表在哪里?)
  • 我是否正确地期望在拦截RTC后内核崩溃? (我只是将它重定向到一个只打印'Hello,World!'的函数。)

如果重要,我的测试是在VM内运行的。我在64位机器(gust& host)上运行linux Mint。主机有Windows 7。

0 个答案:

没有答案