Re: [GSOC] Implement hardware nested page table support for vkernels

Mihai Carabas <[email protected]>
Newsgroups gmane.os.dragonfly-bsd.kernel
Message-ID <CANg1yUtSogGsOmbRcw9zYRN45ysam=RG6gxsVu2UDdSvdCcryw@mail.gmail.com>
Hello,

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.

Thanks,
Mihai
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.