我正在构建一个自定义 VMM,并且我试图在不使用信号(“发送”到整个进程)或线程(我不打算使用线程)的情况下实现超时。
现在,一个想法是实现 LAPIC,就在执行来宾代码之前,我们可以对 LAPIC TIMER 进行编程以在特定时间后触发。应该可以有一个相当不错的超时时间。然而,这个解决方案仅仅针对简单的超时行为是相当痛苦的。
有没有其他更好的方法让 KVM 在一定时间后中断自己?我真的希望与 KVM_RUN 或其他任何事情发生争论,真的。
从标题中可以看出,guest 虚拟机大部分时间都在用户空间中执行。有一个剃刀般薄的内核层。除非万不得已,否则我真的不想安装 LAPIC。想法?