管理程序类型 1 外部中断处理

问题描述

我在处理类型 1 管理程序的外部中断时遇到问题,类型 2 在 Windows 10 上运行良好,但类型 1 导致 Windows 10 在登录屏幕中挂断。

这是我启用外部中断的方式: 设置 cpu 时,我启用 VM 退出控制位 15“确认外部中断”和基于引脚的位 0“外部中断退出”,并在每个 cpu 上下文中为挂起中断分配缓冲区。

当 VM 退出原因 1“外部中断退出”时,我执行 VMX 读取 0x4404“VM 退出中断信息”并检查第 31 位“有效”和第 10:8 位“中断类型”等于 0“外部中断” “,我还检查第 11 位为 VMX 读取 0x4406“退出中断错误代码”,并在注入中断之前检查是否可中断 VMX 读取 0x6820“访客 RFLAGS”第 9 位“中断启用标志”和 VMX 读取 0x4824“访客可中断性” state" bit 1 "blocking by mov ss",if guest interruptible VMX-write 0x4016 "VM-entry interrupt information field" and VMX-write 0x4018 "VM-entry error code" 如果错误代码有效,否则我保存错误代码并中断信息到挂起的中断缓冲区并设置中断窗口退出基于主进程的位 2。

当 VM 退出原因 7“中断窗口退出”时,我在分配的缓冲区中搜索挂起的中断,如果找到则注入中断,否则清除中断窗口退出

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)