-
Notifications
You must be signed in to change notification settings - Fork 419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle APIC EOI message for MSHV #5681
Conversation
Signed-off-by: Wei Liu <liuwe@microsoft.com>
@@ -562,6 +562,18 @@ impl cpu::Vcpu for MshvVcpu { | |||
debug!("Exception Info {:?}", { info.exception_vector }); | |||
Ok(cpu::VmExit::Ignore) | |||
} | |||
hv_message_type_HVMSG_X64_APIC_EOI => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anyway we get an exit here? I think we are not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
During our testing we encountered this exit here while passing through a PCI device to guest, disabling MSIX support.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can only get this if we enable legacy PCI INTx support. It uses level-triggered interrupt, which requires explicitly acking the vector.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have PCI INTx support for VFIO and vfio-user devices.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can merge this is if you like but I see lots of issues about EOI and resamplefd in the issue tracker.
It is discovered in our testing that MSHV didn't handle this message.
In general I don't think Cloud Hypervisor handles level-triggered interrupts well. KVM code is missing resamplefd code. That's something to be fixed later.