mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-12-09 14:10:11 +00:00
One cycle of vmexit/vmentry might lost interrupts. This is the scenario, 1) vmexit, vmexit_handlers 2) softirq & disable interrupt 3) acrn_handle_pending_request 4) schedule if needed, then back to 1) and loop again. 5) vmentry The step 3) might be executed twice. The problem is at the second execution of acrn_handle_pending_request, we might overwrite VMX_ENTRY_INT_INFO_FIELD of current vmcs, which cause guest lost interrupts. The fix is moving 4) prior to 3), then we will handle the pending requests and vmentry directly. Tracked-On: #3374 Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com> Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
2.2 KiB
2.2 KiB