Changeset 92873 in vbox for trunk/src/VBox/Runtime/r0drv/nt/mp-r0drv-nt.cpp
- Timestamp:
- Dec 11, 2021 1:38:33 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/nt/mp-r0drv-nt.cpp
r92871 r92873 1350 1350 * 1351 1351 * @returns IPRT status code (errors are asserted). 1352 * @retval VERR_CPU_NOT_FOUND if impossible CPU. Not asserted. 1352 1353 * @param pDpc The DPC. 1353 1354 * @param idCpu The ID of the new target CPU. 1355 * @note Callable at any IRQL. 1354 1356 */ 1355 1357 DECLHIDDEN(int) rtMpNtSetTargetProcessorDpc(KDPC *pDpc, RTCPUID idCpu) … … 1361 1363 PROCESSOR_NUMBER ProcNum; 1362 1364 NTSTATUS rcNt = g_pfnrtKeGetProcessorNumberFromIndex(RTMpCpuIdToSetIndex(idCpu), &ProcNum); 1363 AssertLogRelMsgReturn(NT_SUCCESS(rcNt), ("KeGetProcessorNumberFromIndex(%u) -> %#x\n", idCpu, rcNt), 1364 RTErrConvertFromNtStatus(rcNt)); 1365 1366 rcNt = g_pfnrtKeSetTargetProcessorDpcEx(pDpc, &ProcNum); 1367 AssertLogRelMsgReturn(NT_SUCCESS(rcNt), 1368 ("KeSetTargetProcessorDpcEx(,%u(%u/%u)) -> %#x\n", idCpu, ProcNum.Group, ProcNum.Number, rcNt), 1369 RTErrConvertFromNtStatus(rcNt)); 1365 if (NT_SUCCESS(rcNt)) 1366 { 1367 rcNt = g_pfnrtKeSetTargetProcessorDpcEx(pDpc, &ProcNum); 1368 AssertLogRelMsgReturn(NT_SUCCESS(rcNt), 1369 ("KeSetTargetProcessorDpcEx(,%u(%u/%u)) -> %#x\n", idCpu, ProcNum.Group, ProcNum.Number, rcNt), 1370 RTErrConvertFromNtStatus(rcNt)); 1371 } 1372 else if (rcNt == STATUS_INVALID_PARAMETER) 1373 return VERR_CPU_NOT_FOUND; 1374 else 1375 AssertLogRelMsgReturn(NT_SUCCESS(rcNt), ("KeGetProcessorNumberFromIndex(%u) -> %#x\n", idCpu, rcNt), 1376 RTErrConvertFromNtStatus(rcNt)); 1377 1370 1378 } 1371 1379 else if (g_pfnrtKeSetTargetProcessorDpc) … … 1936 1944 g_pfnrtKeSetImportanceDpc(&s_aPokeDpcs[i], HighImportance); 1937 1945 int rc = rtMpNtSetTargetProcessorDpc(&s_aPokeDpcs[i], idCpu); 1938 if (RT_FAILURE(rc) )1946 if (RT_FAILURE(rc) && rc != VERR_CPU_NOT_FOUND) 1939 1947 return rc; 1940 1948 }
Note:
See TracChangeset
for help on using the changeset viewer.