Changeset 57244 in vbox
- Timestamp:
- Aug 7, 2015 2:50:48 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 101998
- Location:
- trunk/src/VBox
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp
r57229 r57244 671 671 #if defined(VBOX_STRICT) || defined(VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV) 672 672 if (RT_UNLIKELY(!(ASMGetFlags() & X86_EFL_AC))) 673 supdrvBadContext(&g_DevExt, "SUPDrv-darwin.cpp", __LINE__, "VBoxDrvDarwinIOCtlSMAP"); 673 { 674 char szTmp[32]; 675 RTStrPrintf(szTmp, sizeof(szTmp), "iCmd=%#x!", iCmd); 676 supdrvBadContext(&g_DevExt, "SUPDrv-darwin.cpp", __LINE__, szTmp); 677 } 674 678 #endif 675 679 ASMSetFlags(fSavedEfl); -
trunk/src/VBox/VMM/VMMR0/VMMR0.cpp
r57237 r57244 95 95 else \ 96 96 { \ 97 SUPR0BadContext((a_pVM) ->pSession, __FILE__, __LINE__, "EFLAGS.AC is zero!"); \97 SUPR0BadContext((a_pVM) ? (a_pVM)->pSession : NULL, __FILE__, __LINE__, "EFLAGS.AC is zero!"); \ 98 98 RTStrPrintf(pVM->vmm.s.szRing0AssertMsg1, sizeof(pVM->vmm.s.szRing0AssertMsg1), \ 99 99 "%s, line %d: EFLAGS.AC is clear! (%#x)\n", __FUNCTION__, __LINE__, (uint32_t)fEflCheck); \ … … 937 937 if (RT_UNLIKELY(pVCpu->hNativeThreadR0 != RTThreadNativeSelf())) 938 938 return; 939 VMM_CHECK_SMAP_SETUP(); 940 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 939 941 940 942 /* … … 1100 1102 if (pVM->vmm.s.fUsePeriodicPreemptionTimers) 1101 1103 GVMMR0SchedUpdatePeriodicPreemptionTimer(pVM, pVCpu->idHostCpu, TMCalcHostTimerFrequency(pVM, pVCpu)); 1104 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1102 1105 1103 1106 #ifdef LOG_ENABLED … … 1151 1154 * Setup the longjmp machinery and execute guest code (calls HMR0RunGuestCode). 1152 1155 */ 1156 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1153 1157 rc = vmmR0CallRing3SetJmp(&pVCpu->vmm.s.CallRing3JmpBufR0, HMR0RunGuestCode, pVM, pVCpu); 1158 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1154 1159 1155 1160 /* … … 1260 1265 break; 1261 1266 } 1267 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1262 1268 } 1263 1269 … … 1333 1339 return VERR_INVALID_PARAMETER; 1334 1340 } 1335 1341 VMM_CHECK_SMAP_SETUP(); 1342 VMM_CHECK_SMAP_CHECK(RT_NOTHING); 1343 int rc; 1336 1344 1337 1345 switch (enmOperation) … … 1343 1351 if (pVM || u64Arg || idCpu != NIL_VMCPUID) 1344 1352 return VERR_INVALID_PARAMETER; 1345 return GVMMR0CreateVMReq((PGVMMCREATEVMREQ)pReqHdr); 1353 rc = GVMMR0CreateVMReq((PGVMMCREATEVMREQ)pReqHdr); 1354 VMM_CHECK_SMAP_CHECK(RT_NOTHING); 1355 break; 1346 1356 1347 1357 case VMMR0_DO_GVMM_DESTROY_VM: 1348 1358 if (pReqHdr || u64Arg) 1349 1359 return VERR_INVALID_PARAMETER; 1350 return GVMMR0DestroyVM(pVM); 1360 rc = GVMMR0DestroyVM(pVM); 1361 VMM_CHECK_SMAP_CHECK(RT_NOTHING); 1362 break; 1351 1363 1352 1364 case VMMR0_DO_GVMM_REGISTER_VMCPU: … … 1354 1366 if (!pVM) 1355 1367 return VERR_INVALID_PARAMETER; 1356 return GVMMR0RegisterVCpu(pVM, idCpu); 1368 rc = GVMMR0RegisterVCpu(pVM, idCpu); 1369 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1370 break; 1357 1371 } 1358 1372 … … 1360 1374 if (pReqHdr) 1361 1375 return VERR_INVALID_PARAMETER; 1362 return GVMMR0SchedHalt(pVM, idCpu, u64Arg); 1376 rc = GVMMR0SchedHalt(pVM, idCpu, u64Arg); 1377 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1378 break; 1363 1379 1364 1380 case VMMR0_DO_GVMM_SCHED_WAKE_UP: 1365 1381 if (pReqHdr || u64Arg) 1366 1382 return VERR_INVALID_PARAMETER; 1367 return GVMMR0SchedWakeUp(pVM, idCpu); 1383 rc = GVMMR0SchedWakeUp(pVM, idCpu); 1384 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1385 break; 1368 1386 1369 1387 case VMMR0_DO_GVMM_SCHED_POKE: 1370 1388 if (pReqHdr || u64Arg) 1371 1389 return VERR_INVALID_PARAMETER; 1372 return GVMMR0SchedPoke(pVM, idCpu); 1390 rc = GVMMR0SchedPoke(pVM, idCpu); 1391 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1392 break; 1373 1393 1374 1394 case VMMR0_DO_GVMM_SCHED_WAKE_UP_AND_POKE_CPUS: 1375 1395 if (u64Arg) 1376 1396 return VERR_INVALID_PARAMETER; 1377 return GVMMR0SchedWakeUpAndPokeCpusReq(pVM, (PGVMMSCHEDWAKEUPANDPOKECPUSREQ)pReqHdr); 1397 rc = GVMMR0SchedWakeUpAndPokeCpusReq(pVM, (PGVMMSCHEDWAKEUPANDPOKECPUSREQ)pReqHdr); 1398 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1399 break; 1378 1400 1379 1401 case VMMR0_DO_GVMM_SCHED_POLL: 1380 1402 if (pReqHdr || u64Arg > 1) 1381 1403 return VERR_INVALID_PARAMETER; 1382 return GVMMR0SchedPoll(pVM, idCpu, !!u64Arg); 1404 rc = GVMMR0SchedPoll(pVM, idCpu, !!u64Arg); 1405 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1406 break; 1383 1407 1384 1408 case VMMR0_DO_GVMM_QUERY_STATISTICS: 1385 1409 if (u64Arg) 1386 1410 return VERR_INVALID_PARAMETER; 1387 return GVMMR0QueryStatisticsReq(pVM, (PGVMMQUERYSTATISTICSSREQ)pReqHdr); 1411 rc = GVMMR0QueryStatisticsReq(pVM, (PGVMMQUERYSTATISTICSSREQ)pReqHdr); 1412 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1413 break; 1388 1414 1389 1415 case VMMR0_DO_GVMM_RESET_STATISTICS: 1390 1416 if (u64Arg) 1391 1417 return VERR_INVALID_PARAMETER; 1392 return GVMMR0ResetStatisticsReq(pVM, (PGVMMRESETSTATISTICSSREQ)pReqHdr); 1418 rc = GVMMR0ResetStatisticsReq(pVM, (PGVMMRESETSTATISTICSSREQ)pReqHdr); 1419 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1420 break; 1393 1421 1394 1422 /* … … 1396 1424 */ 1397 1425 case VMMR0_DO_VMMR0_INIT: 1398 return vmmR0InitVM(pVM, RT_LODWORD(u64Arg), RT_HIDWORD(u64Arg)); 1426 rc = vmmR0InitVM(pVM, RT_LODWORD(u64Arg), RT_HIDWORD(u64Arg)); 1427 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1428 break; 1399 1429 1400 1430 /* … … 1402 1432 */ 1403 1433 case VMMR0_DO_VMMR0_TERM: 1404 return VMMR0TermVM(pVM, NULL); 1434 rc = VMMR0TermVM(pVM, NULL); 1435 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1436 break; 1405 1437 1406 1438 /* … … 1408 1440 */ 1409 1441 case VMMR0_DO_HM_ENABLE: 1410 return HMR0EnableAllCpus(pVM); 1442 rc = HMR0EnableAllCpus(pVM); 1443 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1444 break; 1411 1445 1412 1446 /* … … 1414 1448 */ 1415 1449 case VMMR0_DO_HM_SETUP_VM: 1416 return HMR0SetupVM(pVM); 1450 rc = HMR0SetupVM(pVM); 1451 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1452 break; 1417 1453 1418 1454 /* … … 1474 1510 */ 1475 1511 bool fVTxDisabled; 1476 intrc = HMR0EnterSwitcher(pVM, pVM->vmm.s.enmSwitcher, &fVTxDisabled);1512 rc = HMR0EnterSwitcher(pVM, pVM->vmm.s.enmSwitcher, &fVTxDisabled); 1477 1513 if (RT_SUCCESS(rc)) 1478 1514 { … … 1498 1534 ASMAtomicWriteU32(&pVCpu->idHostCpu, NIL_RTCPUID); 1499 1535 ASMSetFlags(fFlags); 1500 return rc;1501 1536 1502 1537 #else /* !VBOX_WITH_RAW_MODE */ 1503 return VERR_RAW_MODE_NOT_SUPPORTED; 1504 #endif 1538 rc = VERR_RAW_MODE_NOT_SUPPORTED; 1539 #endif 1540 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1541 break; 1505 1542 } 1506 1543 … … 1511 1548 if (idCpu == NIL_VMCPUID) 1512 1549 return VERR_INVALID_CPU_ID; 1513 return PGMR0PhysAllocateHandyPages(pVM, &pVM->aCpus[idCpu]); 1550 rc = PGMR0PhysAllocateHandyPages(pVM, &pVM->aCpus[idCpu]); 1551 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1552 break; 1514 1553 1515 1554 case VMMR0_DO_PGM_FLUSH_HANDY_PAGES: 1516 1555 if (idCpu == NIL_VMCPUID) 1517 1556 return VERR_INVALID_CPU_ID; 1518 return PGMR0PhysFlushHandyPages(pVM, &pVM->aCpus[idCpu]); 1557 rc = PGMR0PhysFlushHandyPages(pVM, &pVM->aCpus[idCpu]); 1558 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1559 break; 1519 1560 1520 1561 case VMMR0_DO_PGM_ALLOCATE_LARGE_HANDY_PAGE: 1521 1562 if (idCpu == NIL_VMCPUID) 1522 1563 return VERR_INVALID_CPU_ID; 1523 return PGMR0PhysAllocateLargeHandyPage(pVM, &pVM->aCpus[idCpu]); 1564 rc = PGMR0PhysAllocateLargeHandyPage(pVM, &pVM->aCpus[idCpu]); 1565 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1566 break; 1524 1567 1525 1568 case VMMR0_DO_PGM_PHYS_SETUP_IOMMU: 1526 1569 if (idCpu != 0) 1527 1570 return VERR_INVALID_CPU_ID; 1528 return PGMR0PhysSetupIommu(pVM); 1571 rc = PGMR0PhysSetupIommu(pVM); 1572 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1573 break; 1529 1574 1530 1575 /* … … 1534 1579 if (u64Arg) 1535 1580 return VERR_INVALID_PARAMETER; 1536 return GMMR0InitialReservationReq(pVM, idCpu, (PGMMINITIALRESERVATIONREQ)pReqHdr); 1581 rc = GMMR0InitialReservationReq(pVM, idCpu, (PGMMINITIALRESERVATIONREQ)pReqHdr); 1582 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1583 break; 1537 1584 1538 1585 case VMMR0_DO_GMM_UPDATE_RESERVATION: 1539 1586 if (u64Arg) 1540 1587 return VERR_INVALID_PARAMETER; 1541 return GMMR0UpdateReservationReq(pVM, idCpu, (PGMMUPDATERESERVATIONREQ)pReqHdr); 1588 rc = GMMR0UpdateReservationReq(pVM, idCpu, (PGMMUPDATERESERVATIONREQ)pReqHdr); 1589 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1590 break; 1542 1591 1543 1592 case VMMR0_DO_GMM_ALLOCATE_PAGES: 1544 1593 if (u64Arg) 1545 1594 return VERR_INVALID_PARAMETER; 1546 return GMMR0AllocatePagesReq(pVM, idCpu, (PGMMALLOCATEPAGESREQ)pReqHdr); 1595 rc = GMMR0AllocatePagesReq(pVM, idCpu, (PGMMALLOCATEPAGESREQ)pReqHdr); 1596 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1597 break; 1547 1598 1548 1599 case VMMR0_DO_GMM_FREE_PAGES: 1549 1600 if (u64Arg) 1550 1601 return VERR_INVALID_PARAMETER; 1551 return GMMR0FreePagesReq(pVM, idCpu, (PGMMFREEPAGESREQ)pReqHdr); 1602 rc = GMMR0FreePagesReq(pVM, idCpu, (PGMMFREEPAGESREQ)pReqHdr); 1603 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1604 break; 1552 1605 1553 1606 case VMMR0_DO_GMM_FREE_LARGE_PAGE: 1554 1607 if (u64Arg) 1555 1608 return VERR_INVALID_PARAMETER; 1556 return GMMR0FreeLargePageReq(pVM, idCpu, (PGMMFREELARGEPAGEREQ)pReqHdr); 1609 rc = GMMR0FreeLargePageReq(pVM, idCpu, (PGMMFREELARGEPAGEREQ)pReqHdr); 1610 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1611 break; 1557 1612 1558 1613 case VMMR0_DO_GMM_QUERY_HYPERVISOR_MEM_STATS: 1559 1614 if (u64Arg) 1560 1615 return VERR_INVALID_PARAMETER; 1561 return GMMR0QueryHypervisorMemoryStatsReq(pVM, (PGMMMEMSTATSREQ)pReqHdr); 1616 rc = GMMR0QueryHypervisorMemoryStatsReq(pVM, (PGMMMEMSTATSREQ)pReqHdr); 1617 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1618 break; 1562 1619 1563 1620 case VMMR0_DO_GMM_QUERY_MEM_STATS: … … 1566 1623 if (u64Arg) 1567 1624 return VERR_INVALID_PARAMETER; 1568 return GMMR0QueryMemoryStatsReq(pVM, idCpu, (PGMMMEMSTATSREQ)pReqHdr); 1625 rc = GMMR0QueryMemoryStatsReq(pVM, idCpu, (PGMMMEMSTATSREQ)pReqHdr); 1626 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1627 break; 1569 1628 1570 1629 case VMMR0_DO_GMM_BALLOONED_PAGES: 1571 1630 if (u64Arg) 1572 1631 return VERR_INVALID_PARAMETER; 1573 return GMMR0BalloonedPagesReq(pVM, idCpu, (PGMMBALLOONEDPAGESREQ)pReqHdr); 1632 rc = GMMR0BalloonedPagesReq(pVM, idCpu, (PGMMBALLOONEDPAGESREQ)pReqHdr); 1633 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1634 break; 1574 1635 1575 1636 case VMMR0_DO_GMM_MAP_UNMAP_CHUNK: 1576 1637 if (u64Arg) 1577 1638 return VERR_INVALID_PARAMETER; 1578 return GMMR0MapUnmapChunkReq(pVM, (PGMMMAPUNMAPCHUNKREQ)pReqHdr); 1639 rc = GMMR0MapUnmapChunkReq(pVM, (PGMMMAPUNMAPCHUNKREQ)pReqHdr); 1640 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1641 break; 1579 1642 1580 1643 case VMMR0_DO_GMM_SEED_CHUNK: 1581 1644 if (pReqHdr) 1582 1645 return VERR_INVALID_PARAMETER; 1583 return GMMR0SeedChunk(pVM, idCpu, (RTR3PTR)u64Arg); 1646 rc = GMMR0SeedChunk(pVM, idCpu, (RTR3PTR)u64Arg); 1647 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1648 break; 1584 1649 1585 1650 case VMMR0_DO_GMM_REGISTER_SHARED_MODULE: … … 1588 1653 if (u64Arg) 1589 1654 return VERR_INVALID_PARAMETER; 1590 return GMMR0RegisterSharedModuleReq(pVM, idCpu, (PGMMREGISTERSHAREDMODULEREQ)pReqHdr); 1655 rc = GMMR0RegisterSharedModuleReq(pVM, idCpu, (PGMMREGISTERSHAREDMODULEREQ)pReqHdr); 1656 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1657 break; 1591 1658 1592 1659 case VMMR0_DO_GMM_UNREGISTER_SHARED_MODULE: … … 1595 1662 if (u64Arg) 1596 1663 return VERR_INVALID_PARAMETER; 1597 return GMMR0UnregisterSharedModuleReq(pVM, idCpu, (PGMMUNREGISTERSHAREDMODULEREQ)pReqHdr); 1664 rc = GMMR0UnregisterSharedModuleReq(pVM, idCpu, (PGMMUNREGISTERSHAREDMODULEREQ)pReqHdr); 1665 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1666 break; 1598 1667 1599 1668 case VMMR0_DO_GMM_RESET_SHARED_MODULES: … … 1603 1672 || pReqHdr) 1604 1673 return VERR_INVALID_PARAMETER; 1605 return GMMR0ResetSharedModules(pVM, idCpu); 1674 rc = GMMR0ResetSharedModules(pVM, idCpu); 1675 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1676 break; 1606 1677 1607 1678 #ifdef VBOX_WITH_PAGE_SHARING … … 1620 1691 /* Make sure that log flushes can jump back to ring-3; annoying to get an incomplete log (this is risky though as the code doesn't take this into account). */ 1621 1692 /* Todo: this can have bad side effects for unexpected jumps back to r3. */ 1622 intrc = GMMR0CheckSharedModulesStart(pVM);1693 rc = GMMR0CheckSharedModulesStart(pVM); 1623 1694 if (rc == VINF_SUCCESS) 1624 1695 { … … 1629 1700 } 1630 1701 # else 1631 intrc = GMMR0CheckSharedModules(pVM, pVCpu);1702 rc = GMMR0CheckSharedModules(pVM, pVCpu); 1632 1703 # endif 1633 return rc; 1704 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1705 break; 1634 1706 } 1635 1707 #endif … … 1639 1711 if (u64Arg) 1640 1712 return VERR_INVALID_PARAMETER; 1641 return GMMR0FindDuplicatePageReq(pVM, (PGMMFINDDUPLICATEPAGEREQ)pReqHdr); 1713 rc = GMMR0FindDuplicatePageReq(pVM, (PGMMFINDDUPLICATEPAGEREQ)pReqHdr); 1714 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1715 break; 1642 1716 #endif 1643 1717 … … 1645 1719 if (u64Arg) 1646 1720 return VERR_INVALID_PARAMETER; 1647 return GMMR0QueryStatisticsReq(pVM, (PGMMQUERYSTATISTICSSREQ)pReqHdr); 1721 rc = GMMR0QueryStatisticsReq(pVM, (PGMMQUERYSTATISTICSSREQ)pReqHdr); 1722 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1723 break; 1648 1724 1649 1725 case VMMR0_DO_GMM_RESET_STATISTICS: 1650 1726 if (u64Arg) 1651 1727 return VERR_INVALID_PARAMETER; 1652 return GMMR0ResetStatisticsReq(pVM, (PGMMRESETSTATISTICSSREQ)pReqHdr); 1728 rc = GMMR0ResetStatisticsReq(pVM, (PGMMRESETSTATISTICSSREQ)pReqHdr); 1729 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1730 break; 1653 1731 1654 1732 /* … … 1664 1742 if (pReq->Hdr.cbReq != sizeof(*pReq)) 1665 1743 return VERR_INVALID_PARAMETER; 1666 int rc;1667 1744 if (enmOperation == VMMR0_DO_GCFGM_SET_VALUE) 1668 1745 { … … 1677 1754 // rc = GMMR0QueryConfig(pReq->pSession, &pReq->szName[0], &pReq->u64Value); 1678 1755 } 1679 return rc; 1756 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1757 break; 1680 1758 } 1681 1759 … … 1687 1765 if (!pVM || !pReqHdr || u64Arg || idCpu != NIL_VMCPUID) 1688 1766 return VERR_INVALID_PARAMETER; 1689 return PDMR0DriverCallReqHandler(pVM, (PPDMDRIVERCALLREQHANDLERREQ)pReqHdr); 1767 rc = PDMR0DriverCallReqHandler(pVM, (PPDMDRIVERCALLREQHANDLERREQ)pReqHdr); 1768 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1769 break; 1690 1770 } 1691 1771 … … 1694 1774 if (!pVM || !pReqHdr || u64Arg || idCpu != NIL_VMCPUID) 1695 1775 return VERR_INVALID_PARAMETER; 1696 return PDMR0DeviceCallReqHandler(pVM, (PPDMDEVICECALLREQHANDLERREQ)pReqHdr); 1776 rc = PDMR0DeviceCallReqHandler(pVM, (PPDMDEVICECALLREQHANDLERREQ)pReqHdr); 1777 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1778 break; 1697 1779 } 1698 1780 … … 1705 1787 if (u64Arg || !pReq || !vmmR0IsValidSession(pVM, pReq->pSession, pSession) || idCpu != NIL_VMCPUID) 1706 1788 return VERR_INVALID_PARAMETER; 1707 return IntNetR0OpenReq(pSession, pReq); 1789 rc = IntNetR0OpenReq(pSession, pReq); 1790 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1791 break; 1708 1792 } 1709 1793 … … 1711 1795 if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFCLOSEREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID) 1712 1796 return VERR_INVALID_PARAMETER; 1713 return IntNetR0IfCloseReq(pSession, (PINTNETIFCLOSEREQ)pReqHdr); 1797 rc = IntNetR0IfCloseReq(pSession, (PINTNETIFCLOSEREQ)pReqHdr); 1798 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1799 break; 1800 1714 1801 1715 1802 case VMMR0_DO_INTNET_IF_GET_BUFFER_PTRS: 1716 1803 if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFGETBUFFERPTRSREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID) 1717 1804 return VERR_INVALID_PARAMETER; 1718 return IntNetR0IfGetBufferPtrsReq(pSession, (PINTNETIFGETBUFFERPTRSREQ)pReqHdr); 1805 rc = IntNetR0IfGetBufferPtrsReq(pSession, (PINTNETIFGETBUFFERPTRSREQ)pReqHdr); 1806 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1807 break; 1719 1808 1720 1809 case VMMR0_DO_INTNET_IF_SET_PROMISCUOUS_MODE: 1721 1810 if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFSETPROMISCUOUSMODEREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID) 1722 1811 return VERR_INVALID_PARAMETER; 1723 return IntNetR0IfSetPromiscuousModeReq(pSession, (PINTNETIFSETPROMISCUOUSMODEREQ)pReqHdr); 1812 rc = IntNetR0IfSetPromiscuousModeReq(pSession, (PINTNETIFSETPROMISCUOUSMODEREQ)pReqHdr); 1813 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1814 break; 1724 1815 1725 1816 case VMMR0_DO_INTNET_IF_SET_MAC_ADDRESS: 1726 1817 if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFSETMACADDRESSREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID) 1727 1818 return VERR_INVALID_PARAMETER; 1728 return IntNetR0IfSetMacAddressReq(pSession, (PINTNETIFSETMACADDRESSREQ)pReqHdr); 1819 rc = IntNetR0IfSetMacAddressReq(pSession, (PINTNETIFSETMACADDRESSREQ)pReqHdr); 1820 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1821 break; 1729 1822 1730 1823 case VMMR0_DO_INTNET_IF_SET_ACTIVE: 1731 1824 if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFSETACTIVEREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID) 1732 1825 return VERR_INVALID_PARAMETER; 1733 return IntNetR0IfSetActiveReq(pSession, (PINTNETIFSETACTIVEREQ)pReqHdr); 1826 rc = IntNetR0IfSetActiveReq(pSession, (PINTNETIFSETACTIVEREQ)pReqHdr); 1827 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1828 break; 1734 1829 1735 1830 case VMMR0_DO_INTNET_IF_SEND: 1736 1831 if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFSENDREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID) 1737 1832 return VERR_INVALID_PARAMETER; 1738 return IntNetR0IfSendReq(pSession, (PINTNETIFSENDREQ)pReqHdr); 1833 rc = IntNetR0IfSendReq(pSession, (PINTNETIFSENDREQ)pReqHdr); 1834 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1835 break; 1739 1836 1740 1837 case VMMR0_DO_INTNET_IF_WAIT: 1741 1838 if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFWAITREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID) 1742 1839 return VERR_INVALID_PARAMETER; 1743 return IntNetR0IfWaitReq(pSession, (PINTNETIFWAITREQ)pReqHdr); 1840 rc = IntNetR0IfWaitReq(pSession, (PINTNETIFWAITREQ)pReqHdr); 1841 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1842 break; 1744 1843 1745 1844 case VMMR0_DO_INTNET_IF_ABORT_WAIT: 1746 1845 if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFWAITREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID) 1747 1846 return VERR_INVALID_PARAMETER; 1748 return IntNetR0IfAbortWaitReq(pSession, (PINTNETIFABORTWAITREQ)pReqHdr); 1847 rc = IntNetR0IfAbortWaitReq(pSession, (PINTNETIFABORTWAITREQ)pReqHdr); 1848 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1849 break; 1749 1850 1750 1851 #ifdef VBOX_WITH_PCI_PASSTHROUGH … … 1755 1856 if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PPCIRAWSENDREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID) 1756 1857 return VERR_INVALID_PARAMETER; 1757 return PciRawR0ProcessReq(pSession, pVM, (PPCIRAWSENDREQ)pReqHdr); 1858 rc = PciRawR0ProcessReq(pSession, pVM, (PPCIRAWSENDREQ)pReqHdr); 1859 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1860 break; 1758 1861 #endif 1759 1862 /* … … 1776 1879 if (idCpu == NIL_VMCPUID) 1777 1880 return VERR_INVALID_CPU_ID; 1778 return HMR0TestSwitcher3264(pVM); 1881 rc = HMR0TestSwitcher3264(pVM); 1882 VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING); 1883 break; 1779 1884 #endif 1780 1885 default: … … 1786 1891 return VERR_NOT_SUPPORTED; 1787 1892 } 1893 return rc; 1788 1894 } 1789 1895
Note:
See TracChangeset
for help on using the changeset viewer.