我正在阅读最新的linux源代码,我发现即使执行了指令cli
并且清除了IF标志,也会触发早期页面错误中断。但这怎么可能呢?是不可屏蔽的吗?如果有的话,和NMI有什么关系?
最佳答案
术语“可屏蔽”仅适用于IRQ(中断请求)类型的中断,也称为硬件中断。
但是,页面错误中断不是IRQ,而是异常类型。这种类型的中断不能通过定义来屏蔽。
关于中断的分类,请参见例如这里:http://wiki.osdev.org/Interrupt .
想一想:如果由于指令执行而导致页面错误,CPU 应该做什么可以被屏蔽?在这种情况下,CPU 将无法执行该指令并继续进行。
相反:如果定时器IRQ被屏蔽,CPU可以正常运行。
关于linux-kernel - 早期页面错误是通过清除 IF 标志来触发的,但这怎么可能呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47302807/