我想拦截内核中的一些中断,然后用我的一些代码包装原始函数。主要用于学习目的。
我已经知道如何通过IDT(中断描述符表)拦截页面错误和双重错误,并且它可以正常工作。
所以现在我想拦截RTC,它在IRQ 8.我没有找到任何特定的东西,但在阅读了一些代码之后我认为IRQ在IDT内部,并且它从第32个入口开始(在代码IRQ = IDT+32;
)中。所以我举了一个例子,我改变了IDT的第40个条目,但没有任何反应。 (以防万一,我在更改0x3a条目时再次运行它,即使我很确定它是十进制的 - 没有任何反应。)
所以我的问题:
如果重要,我的测试是在VM内运行的。我在64位机器(gust& host)上运行linux Mint。主机有Windows 7。