Changeset 67924 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Jul 12, 2017 11:12:15 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/CPUM.cpp
r67723 r67924 762 762 { 763 763 PVMCPU pVCpu = &pVM->aCpus[i]; 764 if (pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR3) 765 { 766 SUPR3PageFreeEx(pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR3, SVM_VMCB_PAGES); 767 pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR3 = NULL; 768 } 769 764 770 if (pVCpu->cpum.s.Guest.hwvirt.svm.pvMsrBitmapR3) 765 771 { … … 793 799 { 794 800 PVMCPU pVCpu = &pVM->aCpus[i]; 801 802 /* 803 * Allocate the nested-guest VMCB. 804 */ 805 Assert(!pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR3); 806 rc = SUPR3PageAllocEx(SVM_VMCB_PAGES, 0 /* fFlags */, (void **)&pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR3, 807 (PRTR0PTR)pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR0, NULL /* paPages */); 808 if (RT_FAILURE(rc)) 809 { 810 Assert(!pVCpu->cpum.s.Guest.hwvirt.svm.pVmcbR3); 811 LogRel(("CPUM%u: Failed to alloc %u pages for the nested-guest's VMCB\n", pVCpu->idCpu, SVM_VMCB_PAGES)); 812 break; 813 } 795 814 796 815 /* … … 1250 1269 */ 1251 1270 /* SVM. */ 1252 RT_ZERO(pCtx->hwvirt.svm.VmcbCtrl);1271 memset(&pCtx->hwvirt.svm, 0, sizeof(pCtx->hwvirt.svm)); 1253 1272 pCtx->hwvirt.svm.fGif = 1; 1254 1273 } … … 2225 2244 pHlp->pfnPrintf(pHlp, " GCPhysVmcb = %#RGp\n", pCtx->hwvirt.svm.GCPhysVmcb); 2226 2245 pHlp->pfnPrintf(pHlp, " VmcbCtrl:\n"); 2227 HMR3InfoSvmVmcbCtrl(pHlp, &pCtx->hwvirt.svm.VmcbCtrl, " " /* pszPrefix */); 2246 HMR3InfoSvmVmcbCtrl(pHlp, &pCtx->hwvirt.svm.pVmcbR3->ctrl, " " /* pszPrefix */); 2247 /** @todo HMR3InfoSvmVmcbStateSave. */ 2228 2248 pHlp->pfnPrintf(pHlp, " HostState:\n"); 2229 2249 pHlp->pfnPrintf(pHlp, " uEferMsr = %#RX64\n", pCtx->hwvirt.svm.HostState.uEferMsr);
Note:
See TracChangeset
for help on using the changeset viewer.