VMLAUNCH hangs when enabling EPT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi all,

I just implement the EPT support in my hypervisor (Very similar to
Newbluepill). My problem is irrelevant with KVM.
It's just about how to debug VTx implementation in drivers.

Here is the story. First, I implement a driver to support partial VTx,
and it works very well. Then I implement EPT to identically map gfn to
mfn from 0x0 to 0xfffff. I suppose it should be OK. But the result is
the Windows OS hangs (No reboot, No BSOD) when executing VMLAUNCH
instruction.

And my problem is that, the windbg just shows "debuggee is running" when
the debuggee Windows OS hangs, even if I insert "ud2" instruction before
the next statement, #VMEXIT handler and the first instruction in
non-root mode. VMLAUNCH should not make this happen according to Intel's
manual 2B. Everything is OK if I set "enable ept" to be 0 or clear the
"EPT pointer" field in VMCS. Can someone explain why this happens and
what should I do to continue debugging?

Both the hypervisor and the Windows OS is on x86_32 platform. I use
windbg to debug the target machine via serial port.

Some debug information: EPT pointer is 0x9ba801e, (pfn:0x9ba8,
flag:0x1e, I have double checked this) PML4[0] = 0x00000000_09cd8007,
PDPT[0] = 0x00000000_09cf3007, PD[0] = 0x00000000_09cf2007, PT[0] =
0x00000000_00000077. Other entries are of the same scheme with different
values.

The debuggee platform is on Intel i5 650, multi-core disabled. Since KVM
also concentrates on building hypervisor via loading driver, I am really
looking forward for your help.

Thanks,
Miao

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux