Software Archive
Read-only legacy content
17061 Discussions

Virtualization on Windows

Peter_S_7
Beginner
330 Views

Hello,

This is an edit of my previous post ... 'better' understanding of the problem.

In my VMM I have enabled the following PIN Cntrl Bits:

- Pre-emption timer

- External Interrupts exit

- NMI exit

For the Primary Proc cntrl bits:

- CR3 load/store exiting (these are enabled in the MSR)

No Secondary Proc bits enabled

For the VM Enter bits:

- Guest LMA

For the VM Exit bits:

- Host LMA

- Save timer

So a pretty simple configuration ...

With this configuration, I can run some basic looping code in the virtual env and I receive vmexits for the pre-emption timer as expected. I also receive vmexits for external interrupts, as expected. The problem occurs when an IPI is issued at the processor I am running on while I have my code running on it. In this case, I do NOT receive a vmexit.

According to the Intel docs, IPIs are handled special through the local APIC but even having the 'virtualize APIC accesses' bit set in the Secondary Proc control bits does not trigger a vmexit.

Any suggestions on how I can get these IPIs to trigger a vmexit would be great.

Thanks,

Pete

 

0 Kudos
2 Replies
Peter_S_7
Beginner
330 Views

As a follow up to this, it appears that an IPI IS being issued to the processor which I am running my VT code. This IPI is not resulting in a vmexit.

0 Kudos
Dinu_G_
Beginner
330 Views

 

I Simply loved this Article , nice write up Peter S.

Regards,
Dinu | Tech Support
https://www.clouddesktoponline.com/
A powerful mind can bringin Peace or Destruction.

 

0 Kudos
Reply