mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-16 10:47:26 +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> |
||
---|---|---|
.. | ||
hv_main.c | ||
hypercall.c | ||
ptdev.c | ||
schedule.c | ||
softirq.c | ||
trusty_hypercall.c | ||
vm_load.c |