我最近不得不解决 x86 PIC 的专有操作系统问题,其中操作系统预期的计时器仅在 CPU0 上中断。我启用了 IO-APIC 来解决这个问题并进行 CPU 转向,因此中断只发送到 CPU0。问题解决了。
有人告诉我,我们的硬件坏了做这样的事情。即当只有一个 PIC 正在使用时,在所有 CPU 上引发定时器中断。有问题的“硬件”是 QEMU/KVM。
QEMU/KVM 有问题吗?操作系统是否做出了无效的假设?
我怀疑 QEMU/KVM 这样做是完全正确的,操作系统应该能够处理 CPU 上的定时器中断!= 0 ...