- Timestamp:
- Sep 16, 2019 9:23:56 AM (5 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImplSvmInstr.cpp.h
r80281 r80816 1061 1061 { 1062 1062 /* 1063 * This shouldn't happen, but if it does, cause a #VMEXIT and let the "host" ( guesthypervisor) deal with it.1063 * This shouldn't happen, but if it does, cause a #VMEXIT and let the "host" (nested hypervisor) deal with it. 1064 1064 */ 1065 1065 Log(("iemSvmHandleMsrIntercept: Invalid/out-of-range MSR %#RX32 fWrite=%RTbool -> #VMEXIT\n", idMsr, fWrite)); -
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r80809 r80816 1592 1592 1593 1593 /* 1594 * Optimization if the guesthypervisor is using the same guest-physical page for both1594 * Optimization if the nested hypervisor is using the same guest-physical page for both 1595 1595 * the VM-entry MSR-load area as well as the VM-exit MSR store area. 1596 1596 */ … … 1630 1630 /* 1631 1631 * If we're in ring-0, we cannot handle returns to ring-3 at this point and continue VM-exit. 1632 * If any guesthypervisor loads MSRs that require ring-3 handling, we cause a VMX-abort1632 * If any nested hypervisor loads MSRs that require ring-3 handling, we cause a VMX-abort 1633 1633 * recording the MSR index in the auxiliary info. field and indicated further by our 1634 1634 * own, specific diagnostic code. Later, we can try implement handling of the MSR in ring-0 … … 1990 1990 /* 1991 1991 * If we're in ring-0, we cannot handle returns to ring-3 at this point and continue VM-exit. 1992 * If any guesthypervisor loads MSRs that require ring-3 handling, we cause a VMX-abort1992 * If any nested hypervisor loads MSRs that require ring-3 handling, we cause a VMX-abort 1993 1993 * recording the MSR index in the auxiliary info. field and indicated further by our 1994 1994 * own, specific diagnostic code. Later, we can try implement handling of the MSR in ring-0 … … 6407 6407 /** @todo r=ramshankar: This is done primarily to simplify recursion scenarios while 6408 6408 * redirecting accesses between the APIC-access page and the virtual-APIC 6409 * page. If any guesthypervisor requires this, we can implement it later. */6409 * page. If any nested hypervisor requires this, we can implement it later. */ 6410 6410 if (pVmcs->u32ProcCtls & VMX_PROC_CTLS_USE_TPR_SHADOW) 6411 6411 { … … 6756 6756 /* 6757 6757 * If we're in ring-0, we cannot handle returns to ring-3 at this point and continue VM-entry. 6758 * If any guesthypervisor loads MSRs that require ring-3 handling, we cause a VM-entry failure6758 * If any nested hypervisor loads MSRs that require ring-3 handling, we cause a VM-entry failure 6759 6759 * recording the MSR index in the Exit qualification (as per the Intel spec.) and indicated 6760 6760 * further by our own, specific diagnostic code. Later, we can try implement handling of the … … 7171 7171 /* 7172 7172 * Any VMCS field which we do not establish on every VM-exit but may potentially 7173 * be used on the VM-exit path of a guesthypervisor -and- is not explicitly7173 * be used on the VM-exit path of a nested hypervisor -and- is not explicitly 7174 7174 * specified to be undefined needs to be initialized here. 7175 7175 * … … 7322 7322 * We are allowed to cache VMCS related data structures (such as I/O bitmaps, MSR bitmaps) 7323 7323 * while entering VMX non-root mode. We do some of this while checking VM-execution 7324 * controls. The guesthypervisor should not make assumptions and cannot expect7324 * controls. The nested hypervisor should not make assumptions and cannot expect 7325 7325 * predictable behavior if changes to these structures are made in guest memory while 7326 7326 * executing in VMX non-root mode. As far as VirtualBox is concerned, the guest cannot … … 7426 7426 7427 7427 /* 7428 * Inject any event that the guesthypervisor wants to inject.7428 * Inject any event that the nested hypervisor wants to inject. 7429 7429 * Note! We cannot immediately perform the event injection here as we may have 7430 7430 * pending PGM operations to perform due to switching page tables and/or
Note:
See TracChangeset
for help on using the changeset viewer.