- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
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?
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Are you interested in the performance benefits of it, or is there a functional problem you are facing?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Virtualized interrupts are not currently supported today.
David Ott
David Ott
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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...
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...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, it is a PCIe device. VTd is plan B, so it looks like we'll try looking in that direction for awhile.
Thanks!
Thanks!
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page