gpt4 book ai didi

x86 PIC,QEMU 在所有 CPU 上引发中断是否正确?

转载 作者:行者123 更新时间:2023-12-04 21:16:01 27 4
gpt4 key购买 nike

我最近不得不解决 x86 PIC 的专有操作系统问题,其中操作系统预期计时器仅在 CPU0 上中断。我启用了 IO-APIC 来解决这个问题并进行 CPU 控制,因此中断只发生在 CPU0 上。问题解决了。

有人告诉我,我们的硬件坏了做这样的事情。即,当仅使用 PIC 时,在所有 CPU 上引发定时器中断。有问题的“硬件”是 QEMU/KVM。

QEMU/KVM 有问题吗?操作系统是否做出了无效假设?

我怀疑 QEMU/KVM 这样做是完全正确的,操作系统应该能够处理 CPU 上的定时器中断!= 0 ...

最佳答案

我认为是真的,PIC通常只向CPU 0发送中断,包括定时器中断。大多数操作系统不会尝试使用 PIC 进行 SMP,因为 CPU1 无法获得或接收任何中断(包括某种用于进程调度的定时器中断);例如,带有“noapic”的 Linux 禁用除 C​​PU0 之外的所有内容。我认为这个操作系统在 qemu 中遇到了一个奇怪的极端情况。

关于x86 PIC,QEMU 在所有 CPU 上引发中断是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23507006/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com