We are using Bochs to speed up our hypervisor development process and it is working very well. Thanks for the great software!
Recently we found a problem with the handling of triple faults occurring in VMX non-root mode.
On "real" hardware (Intel Core i7 3520M) the occurrence of a triple fault in VMX non-root mode has no effect on the CPU in root mode and it is still possible to launch another virtual machine (i.e. load and launch another VMCS to perform error handling).
In Bochs however, a triple fault in a guest seems to have side-effects not only to other guest state but also to the host state itself.
Attached you find the bochs debug output of a problematic run. I triggered a tripple fault in the guest by using the ud2 instruction very early in the boot code. This results in a trap into the hypervisor code.
The hypervisor logs the error and uses ud2 to panic and halt the CPU. But after a triple fault in the guest, this mechanism does not work anymore, resulting in a triple fault in root mode. Trying to run another guest is also not possible anymore, the code behaves erratic.
I'm currently using revision r11876 of Bochs.
Log in to post a comment.