Ap wakeup and execution from VMXON on quadcore i7

Ap wakeup and execution from VMXON on quadcore i7

After setting up the VMCS for theVMM and entering theVMXON region using the VMLAUNCH instruction, the space for the VM is setup by creating a VMCS. The VM's VMCS requires a specific CPUID to identify which logical processor will execute the VM. How do I wake up the APs so that theVMM is still running on the BSP? Additionally how do I specify that the VM be executed using one of the APs?

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I've been asking around about your question. One comment I received is this:

"I would imagine you will have to modify the VMM scheduler to only schedule VMM on the BSP and VMs on the APs."

Another comment is this:

"Is this a type 1 or type 2 hypervisor?. If the former, then they would have to implement code similar to a MP OS to take control of the logical APs (using INIT-SIPI-SIPI protocol for example).

If a type 2 hypervisor (running on an existing OS), then they would have to use the Affinity APIs of the OS to schedule on an AP and get its CPUID."

Hope this helps.

David Ott

Leave a Comment

Please sign in to add a comment. Not a member? Join today