如何在KVM虚拟机中注入中断

2024-05-20 11:12:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我在英特尔x86-64上玩弄KVM,为API编写Python包装器。你知道吗

我可以运行一些16位实模式代码,执行in/out指令以及MMIO读写。你知道吗

在下一步中,我试图配置一个中断控制器,并将一个IRQ注入到guest中,但我的尝试似乎都不起作用。你知道吗

我尝试使用KVM_CREATE_IRQCHIP并配置IRQ路由以转到主/从PIC以及APIC,但即使这样做,执行KVM_IRQ_LINE似乎也不会将执行流重定向到中断处理程序,相反,来宾代码继续线性执行。你知道吗

同样的行为如果我不在内核中配置APIC并使用KVM_INTERRUPT,即使使用KVM_NMI,客户机似乎也不会受到任何影响。你知道吗

我检查了来宾的EFLAGS寄存器中的中断启用标志是否打开。你知道吗

有没有一种被认可的方式来配置来宾虚拟机,以便我可以通过KVM向它注入一个中断?如果是这样的话,有人能解释一下如何做到这一点吗?我很乐意接受C/C++代码,并将其应用到我的Python环境中,但我会很欣赏逐步的指导!你知道吗

谢谢。你知道吗


Tags: 代码inapikvmcreate指令模式控制器