I have a system running Core i7 920 with VT enabled in the BIOS. I am trying to write
a simple hypervisor which sets up a context for a guest in Virtual 8086 mode. However,
when I set the VM bit (for Virtual 8086 mode) in the VMCS RFLAGS register and launch
the guest ( value of RFLAGS I am using is 0x0000000000020002) , the system seems to
be frozen (probably a VMX abort?). I dont have access
to a hardware debugger and hence cannot be sure whether it is a VMX abort or what
the abort code is.
However, I have success in launching a 32-bit protected mode guest with paging and
am even able to communicate with the hypervisor using VMCALLs from the 32-bit guest.
So, I am inclined to think that it is not failing due to a VMX abort when launching the
I have even tried to launch a 32-bit guest and within that have setup a
V86 stack frame and tried to do a IRET to that with EFLAGS VM set. That also has
the same effect in the system being frozen when IRET executes. I am not sure
what I am missing in setting up a V86 guest. Any help will be greatly appreciated.
Thanks in advance!