Software Archive
Read-only legacy content
17061 Discussions

Virtualizing Interrupts

Anthony_B_Intel
Employee
474 Views
It seems like there must be some way of virtualizing interrupts without catching them all in the VMM or exiting on every APIC access from the guest...

Let's say I have a single device that I need the VMM to manage and present a virtual device to the guest. I want to catch the physicaldevice's interrupts in the VMM but I don't care about any other device and I would really like to avoid virtualizing the whole APIC just to hide this one interrupt from the guest. When the VMM is done, I want to inject an interrupt for the virtual function into the guest.

Is there any way to catch just this one interrupt in the VMM and let everything else pass through to the guest without exiting?
0 Kudos
1 Solution
Hussam_Mousa__Intel_
New Contributor II
474 Views
If this is a PCI-E device you can use VT-D pass-through for the functionality you described. Have you looked at that option?

View solution in original post

0 Kudos
5 Replies
Hussam_Mousa__Intel_
New Contributor II
474 Views
Unfortunately the current generation of H/W and VMMs don't yet support this functionality.

Are you interested in the performance benefits of it, or is there a functional problem you are facing?
0 Kudos
David_O_Intel1
Employee
474 Views
Virtualized interrupts are not currently supported today.

David Ott
0 Kudos
Anthony_B_Intel
Employee
474 Views
Both, actually. We would like the guest to be able to use their operating system's in-box class drivers without an additional driver for our device. This isn't possible if we have to explicitly coordinate with the code running in the VMM.

We can virtualize more completely but then we incur performance penalties and add complexity in the VMM. I was looking for a way around this should such an option exist...
0 Kudos
Hussam_Mousa__Intel_
New Contributor II
475 Views
If this is a PCI-E device you can use VT-D pass-through for the functionality you described. Have you looked at that option?
0 Kudos
Anthony_B_Intel
Employee
474 Views
Yes, it is a PCIe device. VTd is plan B, so it looks like we'll try looking in that direction for awhile.

Thanks!
0 Kudos
Reply