[GSOC] Implement hardware nested page table support for vkernels

Mihai Carabas mihai.carabas at gmail.com
Mon Jul 15 01:33:01 PDT 2013


This week I've been trying to execute a vmlaunch on the HOST in order to
run a dummy guest in VMX non-root operation. There were a lot of vmlaunch
errors due to consistency checks on the VMCS area of the HOST. With the
help of Bochs simulator (thanks to vsrinivas) I found out what bit was
wrong and the vmlaunch doesn't fail anymore. However, after the vmlaunch I
get immediatly a vmexit, which announce me that the guest consistency check
failed (Error 33 from the "Table C-1. Basic Exit Reason", Intel 3c manual).
Now I'm investigating this problem.

The HOST state is saved/loaded from the VMCS area on a vmlaunch, and on
vmexit the host is acting OK, means that all stuff restored are in order.
At the beginning there was a problem because I didn't set correctly the
IDTR base address and after a vmlaunch my CPU didn't handle the interrupts
anymore and caused the HOST failure.

This week, I've also had a long discussion with Dillon regarding the
vkernels and the type of guest we will be running. We are trying to do
something else than the vast majority does: run a "user-space" program in
guest mode of the virtualization extension, rather than a kernel.

Also there will be some design issues to solve: the user-space programs of
the vkernel run in other "execution contexts" than the vkernel thread
itself (through the vmspace_ctl syscall). So we would need two VMCS areas
for each vkernel thread. I will discuss this issues with Venkatesh more
this week.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dragonflybsd.org/pipermail/kernel/attachments/20130715/f1a0dcd0/attachment.html>

More information about the Kernel mailing list