VirtualBox

Ignore:
Timestamp:
Jun 20, 2023 12:36:37 PM (22 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
157936
Message:

VMM: VMXAllTemplate.cpp.h: Fixed overly aggressive clearing of interrupt-window/NMI-window clearing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/VMXAllTemplate.cpp.h

    r100164 r100226  
    48944894                return VINF_SUCCESS;
    48954895            }
    4896 
    4897             /*
    4898              * Setup NMI-window exiting and also clear any interrupt-window exiting that might
    4899              * still be active. This can happen if we got VM-exits that were higher priority
    4900              * than an interrupt-window VM-exit.
    4901              */
    49024896            vmxHCSetNmiWindowExitVmcs(pVCpu, pVmcsInfo);
    4903             vmxHCClearIntWindowExitVmcs(pVCpu, pVmcsInfo);
    49044897        }
    49054898        else
    4906             Assert(!(pVmcsInfo->u32ProcCtls & VMX_PROC_CTLS_NMI_WINDOW_EXIT));
     4899            vmxHCClearNmiWindowExitVmcs(pVCpu, pVmcsInfo);
    49074900
    49084901        /*
     
    49404933                    STAM_COUNTER_INC(&VCPU_2_VMXSTATS(pVCpu).StatSwitchGuestIrq);
    49414934
    4942                 /* We must clear interrupt-window exiting for the same reason mentioned above for NMIs. */
    49434935                vmxHCClearIntWindowExitVmcs(pVCpu, pVmcsInfo);
    49444936                return VINF_SUCCESS;
    49454937            }
    4946 
    4947             /* Setup interrupt-window exiting. */
    49484938            vmxHCSetIntWindowExitVmcs(pVCpu, pVmcsInfo);
    4949             Assert(!(pVmcsInfo->u32ProcCtls & VMX_PROC_CTLS_NMI_WINDOW_EXIT));
    49504939        }
    49514940        else
    4952         {
    49534941            vmxHCClearIntWindowExitVmcs(pVCpu, pVmcsInfo);
    4954             Assert(!(pVmcsInfo->u32ProcCtls & VMX_PROC_CTLS_NMI_WINDOW_EXIT));
    4955         }
    49564942    }
    49574943    else
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette