mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-22 09:17:58 +00:00
HV: Use NMI-window exiting to address req missing issue
There is a window where we may miss the current request in the notification period when the work flow is as the following: CPUx + + CPUr | | | +--+ | | | Handle pending req | <--+ +--+ | | | Set req flag | <--+ | +------------------>---+ | Send NMI | | Handle NMI | <--+ | | | | | +--> vCPU enter | | + + So, this patch enables the NMI-window exiting to trigger the next vmexit once there is no "virtual-NMI blocking" after vCPU enter into VMX non-root mode. Then we can process the pending request on time. Tracked-On: #3886 Acked-by: Eddie Dong <eddie.dong@intel.com> Signed-off-by: Kaige Fu <kaige.fu@intel.com>
This commit is contained in:
@@ -209,6 +209,7 @@ void vcpu_make_request(struct acrn_vcpu *vcpu, uint16_t eventid);
|
||||
* @pre vcpu != NULL
|
||||
*/
|
||||
int32_t exception_vmexit_handler(struct acrn_vcpu *vcpu);
|
||||
int32_t nmi_window_vmexit_handler(struct acrn_vcpu *vcpu);
|
||||
int32_t interrupt_window_vmexit_handler(struct acrn_vcpu *vcpu);
|
||||
int32_t external_interrupt_vmexit_handler(struct acrn_vcpu *vcpu);
|
||||
int32_t acrn_handle_pending_request(struct acrn_vcpu *vcpu);
|
||||
|
Reference in New Issue
Block a user