Software Archive
Read-only legacy content
17061 Discussions

Handling APIC Access VM exits

Patrick_D_1
Beginner
631 Views

Hi,

I am currently writing a small hypervisor and I am having trouble understanding how to handle the APIC access VMExit.

My guest is writing something at offset 0x300 of the APIC page. The guest is in real mode and using EPT. The address used by the guest resolves to 0x4000 after EPT translation and
 VMCS_APIC_ACCESS_ADDR=0x4000

I have also set a virtual APIC page (VMCS_VIRTUAL_APIC_PAGE_ADDR=0x8000)

I am getting an APIC-Access VMExit but in my handler I am trying to get the value that was written to the APIC page. I can't find the value in 0x4000 nor in 0x8000.

I'd like to know what is the operation to be made in this handler. Am I supposed to decode the guest instruction in order to get the value that was attempted to be written? or am I supposed to have an easier way provided by the VMX architecture to access that value?

 

Thank you.

0 Kudos
1 Reply
Quoc-Thai_L_Intel
631 Views

Found some information that may provide some hints for you:

APIC Virtualization Performance Testing and Iozone*

Enabling Optimized Interrupt/APIC Virtualization in KVM 

-Thai

 

0 Kudos
Reply