|
1 | | -/* $Id: HM.cpp 110684 2025-08-11 17:18:47Z klaus.espenlaub@oracle.com $ */ |
| 1 | +/* $Id: HM.cpp 110815 2025-08-26 08:47:24Z ramshankar.venkataraman@oracle.com $ */ |
2 | 2 | /** @file |
3 | 3 | * HM - Intel/AMD VM Hardware Support Manager. |
4 | 4 | */ |
@@ -552,9 +552,13 @@ VMMR3_INT_DECL(int) HMR3Init(PVM pVM) |
552 | 552 |
|
553 | 553 | /* |
554 | 554 | * Check if VT-x or AMD-v support according to the users wishes. |
| 555 | + * |
| 556 | + * NOTE! SUPR3QueryVTCaps won't catch VERR_VMX_IN_VMX_ROOT_MODE or VERR_SVM_IN_USE |
| 557 | + * errors because it is intended to merely query capability and not usability. We |
| 558 | + * go ahead assuming VT-x/AMD-V is usable which might not be the case. This will |
| 559 | + * eventually be resolved in hmR3InitFinalizeR0 when checking for "ForR3.rcInit" |
| 560 | + * which stored any usability shortcomings from ring-0 (see HMR0). |
555 | 561 | */ |
556 | | - /** @todo SUPR3QueryVTCaps won't catch VERR_VMX_IN_VMX_ROOT_MODE or |
557 | | - * VERR_SVM_IN_USE. */ |
558 | 562 | if (pVM->fHMEnabled) |
559 | 563 | { |
560 | 564 | uint32_t fCaps; |
@@ -1174,14 +1178,15 @@ static int hmR3InitFinalizeR0(PVM pVM) |
1174 | 1178 | pVM->hm.s.ForR3.rcInit = VINF_SUCCESS; |
1175 | 1179 | } |
1176 | 1180 |
|
| 1181 | + if (pVM->hm.s.vmx.fSupported) |
| 1182 | + LogRel(("HM: Host MSR_IA32_FEATURE_CONTROL = %#RX64\n", pVM->hm.s.ForR3.vmx.u64HostFeatCtrl)); |
| 1183 | + |
1177 | 1184 | /* |
1178 | 1185 | * Report ring-0 init errors. |
1179 | 1186 | */ |
1180 | | - if ( !pVM->hm.s.vmx.fSupported |
1181 | | - && !pVM->hm.s.svm.fSupported) |
| 1187 | + if (RT_FAILURE(pVM->hm.s.ForR3.rcInit)) |
1182 | 1188 | { |
1183 | | - LogRel(("HM: Failed to initialize VT-x / AMD-V: %Rrc\n", pVM->hm.s.ForR3.rcInit)); |
1184 | | - LogRel(("HM: VMX MSR_IA32_FEATURE_CONTROL=%RX64\n", pVM->hm.s.ForR3.vmx.u64HostFeatCtrl)); |
| 1189 | + LogRel(("HM: Failed to initialize %s: %Rrc\n", pVM->hm.s.vmx.fSupported ? "VT-x" : "AMD-V", pVM->hm.s.ForR3.rcInit)); |
1185 | 1190 | switch (pVM->hm.s.ForR3.rcInit) |
1186 | 1191 | { |
1187 | 1192 | case VERR_VMX_IN_VMX_ROOT_MODE: |
|
0 commit comments