[x86] - technical questions about HV implementation on Intel VT

From: Eric Lacombe
Date: Mon Oct 20 2008 - 13:27:48 EST


I worked on a particular hypervisor, that just put in a VM the currently
running kernel. But I faced some problems and I would like to know some good
practices in order to debug the module I develop.

When the module put the current kernel in "vmx non-root mode", some conditions
irremediably trigger a VM-Exit (with the processor I use, loading cr3 always
trigger a vmexit). And here comes my problem. How can I reliably get
information (by way of printk) when my hypervisor screw something up, and
crash the machine with lots of debug info that scroll quickly on the screen,
just before freezing the machine.

In fact, It seems that in some situations the machine "loop on page faults".
Let me depict the scenario:
After a vmxlaunch, the host hand over the cpu to the guest then a vmexit
occurs. Thus, the guest hand over to the host. the host checks some things
and issue a vmxresume, and.. a vmexit occurs again, etc. etc.

So, when the host take control for the first time after the first vmexit, I
would like the host to print informations and to "die correctly", so as I
could read these information on the screen (ie, without being polluted with
lots of debug messages that scroll on the screen).

Note: I already have some vmexits due to invalid guest state during vmxlaunch,
but it seems (because my trivial printings for those situations do not show
again) I fully repaired those problems. Now there is a lot of debug info
quickly scrolling on the screen before the system crashes :/

Thanks in advance for your answers.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/