我正在 ARM 上实现一个虚拟机管理程序,我需要知道是否有办法在单条指令执行后恢复 ( ERET ) 来宾和陷阱,而不依赖于调试架构 (v7.1) 。我可以通过将来宾的下一条指令修改为HVC(相当于 Intel 上的VMCALL)来使用软件方法,但我不知道如何处理导致分支的指令(JMP)。
在英特尔上,我可以使用陷阱标志(= RFLAGS中的TF位,每个操作系统线程上下文)或监视器陷阱标志(= MTF,VT-x功能)。
谢谢
编辑:澄清
- 我想避免反汇编/仿真(尽可能)
我正在 ARM 上实现一个虚拟机管理程序,我需要知道是否有办法在单条指令执行后恢复 ( ERET ) 来宾和陷阱,而不依赖于调试架构 (v7.1) 。我可以通过将来宾的下一条指令修改为HVC(相当于 Intel 上的VMCALL)来使用软件方法,但我不知道如何处理导致分支的指令(JMP)。
在英特尔上,我可以使用陷阱标志(= RFLAGS中的TF位,每个操作系统线程上下文)或监视器陷阱标志(= MTF,VT-x功能)。
谢谢
编辑:澄清