Changeset 83474 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Mar 28, 2020 4:48:23 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 136713
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/NEMR0Native-win.cpp
r82968 r83474 179 179 { 180 180 rc = RTR0DbgKrnlInfoQuerySymbol(hKrnlInfo, NULL, "HvlInvokeHypercall", (void **)&g_pfnHvlInvokeHypercall); 181 if (RT_FAILURE(rc)) 182 rc = VERR_NEM_MISSING_KERNEL_API_1; 181 183 if (RT_SUCCESS(rc)) 184 { 182 185 rc = RTR0DbgKrnlInfoQuerySymbol(hKrnlInfo, "winhvr.sys", "WinHvDepositMemory", (void **)&g_pfnWinHvDepositMemory); 186 if (RT_FAILURE(rc)) 187 rc = rc == VERR_MODULE_NOT_FOUND ? VERR_NEM_MISSING_KERNEL_API_2 : VERR_NEM_MISSING_KERNEL_API_3; 188 } 183 189 RTR0DbgKrnlInfoRelease(hKrnlInfo); 184 190 if (RT_SUCCESS(rc)) … … 223 229 } 224 230 } 225 else226 rc = VERR_NEM_MISSING_KERNEL_API;227 231 } 228 232 … … 427 431 * Validate. 428 432 */ 429 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );433 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 430 434 431 435 AssertReturn(cPages > 0, VERR_OUT_OF_RANGE); … … 534 538 * Validate input. 535 539 */ 536 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );540 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 537 541 538 542 AssertReturn(cPages > 0, VERR_OUT_OF_RANGE); … … 617 621 HV_INPUT_SET_VP_REGISTERS *pInput = (HV_INPUT_SET_VP_REGISTERS *)pGVCpu->nemr0.s.HypercallData.pbPage; 618 622 AssertPtrReturn(pInput, VERR_INTERNAL_ERROR_3); 619 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );623 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 620 624 621 625 pInput->PartitionId = pGVM->nemr0.s.idHvPartition; … … 1301 1305 { 1302 1306 PGVMCPU pGVCpu = &pGVM->aCpus[idCpu]; 1303 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );1307 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 1304 1308 1305 1309 /* … … 1333 1337 HV_INPUT_GET_VP_REGISTERS *pInput = (HV_INPUT_GET_VP_REGISTERS *)pGVCpu->nemr0.s.HypercallData.pbPage; 1334 1338 AssertPtrReturn(pInput, VERR_INTERNAL_ERROR_3); 1335 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );1339 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 1336 1340 Assert(pCtx == &pGVCpu->cpum.GstCtx); 1337 1341 … … 2218 2222 { 2219 2223 PGVMCPU pGVCpu = &pGVM->aCpus[idCpu]; 2220 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );2224 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 2221 2225 2222 2226 /* … … 2250 2254 HV_INPUT_GET_VP_REGISTERS *pInput = (HV_INPUT_GET_VP_REGISTERS *)pGVCpu->nemr0.s.HypercallData.pbPage; 2251 2255 AssertPtrReturn(pInput, VERR_INTERNAL_ERROR_3); 2252 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );2256 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 2253 2257 2254 2258 pInput->PartitionId = pGVM->nemr0.s.idHvPartition; … … 2300 2304 { 2301 2305 PGVMCPU pGVCpu = &pGVM->aCpus[idCpu]; 2302 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );2306 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 2303 2307 2304 2308 /* … … 2329 2333 NEM_TMPL_STATIC int nemR0WinResumeCpuTickOnAll(PGVM pGVM, PGVMCPU pGVCpu, uint64_t uPausedTscValue) 2330 2334 { 2331 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );2335 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 2332 2336 2333 2337 /* … … 2408 2412 { 2409 2413 PGVMCPU pGVCpu = &pGVM->aCpus[idCpu]; 2410 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );2414 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 2411 2415 2412 2416 /* … … 2458 2462 if (RT_SUCCESS(rc)) 2459 2463 { 2460 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );2464 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 2461 2465 2462 2466 PNEMR0HYPERCALLDATA pHypercallData = idCpu != NIL_VMCPUID … … 2526 2530 if (RT_SUCCESS(rc)) 2527 2531 { 2528 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API );2532 AssertReturn(g_pfnHvlInvokeHypercall, VERR_NEM_MISSING_KERNEL_API_1); 2529 2533 2530 2534 PGVMCPU pGVCpu = &pGVM->aCpus[idCpu];
Note:
See TracChangeset
for help on using the changeset viewer.