Changeset 21458 in vbox
- Timestamp:
- Jul 9, 2009 9:03:40 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VMMDev.h
r21457 r21458 126 126 VMMDevReq_SetMouseStatus = 2, 127 127 VMMDevReq_SetPointerShape = 3, 128 /** @todo implement on host side */129 128 VMMDevReq_GetHostVersion = 4, 130 129 VMMDevReq_Idle = 5, … … 362 361 /** @name VMMDevReqHostVersion::features 363 362 * @{ */ 364 /** Physical buffers andpage lists are supported by HGCM. */365 #define VMMDEV_HVF_ PHYS_HGCM_PARAMRT_BIT(0)363 /** Physical page lists are supported by HGCM. */ 364 #define VMMDEV_HVF_HGCM_PHYS_PAGE_LIST RT_BIT(0) 366 365 /** @} */ 367 366 … … 1018 1017 VMMDevHGCMParmType_32bit = 1, 1019 1018 VMMDevHGCMParmType_64bit = 2, 1020 VMMDevHGCMParmType_PhysAddr = 3, 1019 VMMDevHGCMParmType_PhysAddr = 3, /**< @deprecated Doesn't work, use PageList. */ 1021 1020 VMMDevHGCMParmType_LinAddr = 4, /**< In and Out */ 1022 1021 VMMDevHGCMParmType_LinAddr_In = 5, /**< In (read; host<-guest) */ -
trunk/src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp
r21456 r21458 187 187 break; 188 188 189 case VMMDevHGCMParmType_PhysAddr:190 if ((fFlags & VBGLR0_HGCMCALL_F_MODE_MASK) == VBGLR0_HGCMCALL_F_USER)191 rc = VERR_INVALID_PARAMETER;192 break;193 194 189 case VMMDevHGCMParmType_LinAddr_Locked_In: 195 190 if ((fFlags & VBGLR0_HGCMCALL_F_MODE_MASK) == VBGLR0_HGCMCALL_F_USER) … … 391 386 break; 392 387 393 case VMMDevHGCMParmType_PhysAddr:394 if ((fFlags & VBGLR0_HGCMCALL_F_MODE_MASK) == VBGLR0_HGCMCALL_F_USER)395 rc = VERR_INVALID_PARAMETER;396 break;397 398 388 case VMMDevHGCMParmType_LinAddr_Locked_In: 399 389 if ((fFlags & VBGLR0_HGCMCALL_F_MODE_MASK) == VBGLR0_HGCMCALL_F_USER) -
trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
r21457 r21458 1557 1557 1558 1558 /* 1559 * Implemented in 3.1.0. The ring-0 VBoxGuestLib uses this to check 1560 * whether VMMDevHGCMParmType_PhysAddr and VMMDevHGCMParmType_PageList 1561 * are known to work. 1559 * Implemented in 3.1.0. 1560 * 1561 * Note! The ring-0 VBoxGuestLib uses this to check whether 1562 * VMMDevHGCMParmType_PageList is supported. 1562 1563 */ 1563 1564 case VMMDevReq_GetHostVersion: … … 1571 1572 pReqHostVer->build = VBOX_VERSION_BUILD; 1572 1573 pReqHostVer->revision = VBOX_SVN_REV; 1573 pReqHostVer->features = VMMDEV_HVF_ PHYS_HGCM_PARAM;1574 pReqHostVer->features = VMMDEV_HVF_HGCM_PHYS_PAGE_LIST; 1574 1575 pReqHostVer->header.rc = VINF_SUCCESS; 1575 1576 break; -
trunk/src/VBox/Devices/VMMDev/VMMDevHGCM.cpp
r21456 r21458 597 597 case VMMDevHGCMParmType_32bit: 598 598 case VMMDevHGCMParmType_64bit: 599 case VMMDevHGCMParmType_PhysAddr:600 599 { 601 600 } break; 602 601 603 602 default: 603 case VMMDevHGCMParmType_PhysAddr: 604 604 { 605 605 AssertMsgFailed(("vmmdevHGCMCall: invalid parameter type %x\n", pGuestParm->type)); … … 649 649 case VMMDevHGCMParmType_32bit: 650 650 case VMMDevHGCMParmType_64bit: 651 case VMMDevHGCMParmType_PhysAddr:652 651 { 653 652 } break; … … 748 747 749 748 Log(("vmmdevHGCMCall: uint64 guest parameter %llu\n", u64)); 750 break;751 }752 753 case VMMDevHGCMParmType_PhysAddr:754 {755 uint32_t size = pGuestParm->u.Pointer.size;756 #ifdef LOG_ENABLED757 RTGCPHYS physAddr = pGuestParm->u.Pointer.u.physAddr;758 #endif759 760 pHostParm->type = VBOX_HGCM_SVC_PARM_PTR;761 pHostParm->u.pointer.size = size;762 763 AssertFailed();764 /* rc = PDMDevHlpPhys2HCVirt (pVMMDevState->pDevIns, physAddr, size, &pHostParm->u.pointer.addr); */765 766 Log(("vmmdevHGCMCall: PhysAddr guest parameter %RGp\n", physAddr));767 749 break; 768 750 } … … 870 852 /* just to shut up gcc */ 871 853 default: 854 AssertFailed(); 872 855 break; 873 856 } … … 905 888 906 889 Log(("vmmdevHGCMCall: uint64 guest parameter %llu\n", u64)); 907 break;908 }909 910 case VMMDevHGCMParmType_PhysAddr:911 {912 uint32_t size = pGuestParm->u.Pointer.size;913 #ifdef LOG_ENABLED914 RTGCPHYS physAddr = pGuestParm->u.Pointer.u.physAddr;915 #endif916 917 pHostParm->type = VBOX_HGCM_SVC_PARM_PTR;918 pHostParm->u.pointer.size = size;919 920 AssertFailed();921 /* rc = PDMDevHlpPhys2HCVirt (pVMMDevState->pDevIns, physAddr, size, &pHostParm->u.pointer.addr); */922 923 Log(("vmmdevHGCMCall: PhysAddr guest parameter %RGp\n", physAddr));924 890 break; 925 891 } … … 1027 993 /* just to shut up gcc */ 1028 994 default: 995 AssertFailed(); 1029 996 break; 1030 997 } … … 1137 1104 1138 1105 Log(("vmmdevHGCMCall: uint64 guest parameter %llu\n", u64)); 1139 break;1140 }1141 1142 case VMMDevHGCMParmType_PhysAddr:1143 {1144 uint32_t size = pGuestParm->u.Pointer.size;1145 #ifdef LOG_ENABLED1146 RTGCPHYS physAddr = pGuestParm->u.Pointer.u.physAddr;1147 #endif1148 1149 pHostParm->type = VBOX_HGCM_SVC_PARM_PTR;1150 pHostParm->u.pointer.size = size;1151 1152 AssertFailed();1153 /* rc = PDMDevHlpPhys2HCVirt (pVMMDevState->pDevIns, physAddr, size, &pHostParm->u.pointer.addr); */1154 1155 Log(("vmmdevHGCMCall: PhysAddr guest parameter %RGp\n", physAddr));1156 1106 break; 1157 1107 } … … 1298 1248 /* just to shut up gcc */ 1299 1249 default: 1250 AssertFailed(); 1300 1251 break; 1301 1252 } … … 1333 1284 1334 1285 Log(("vmmdevHGCMCall: uint64 guest parameter %llu\n", u64)); 1335 break;1336 }1337 1338 case VMMDevHGCMParmType_PhysAddr:1339 {1340 uint32_t size = pGuestParm->u.Pointer.size;1341 #ifdef LOG_ENABLED1342 RTGCPHYS physAddr = pGuestParm->u.Pointer.u.physAddr;1343 #endif1344 1345 pHostParm->type = VBOX_HGCM_SVC_PARM_PTR;1346 pHostParm->u.pointer.size = size;1347 1348 AssertFailed();1349 /* rc = PDMDevHlpPhys2HCVirt (pVMMDevState->pDevIns, physAddr, size, &pHostParm->u.pointer.addr); */1350 1351 Log(("vmmdevHGCMCall: PhysAddr guest parameter %RGp\n", physAddr));1352 1286 break; 1353 1287 } … … 1494 1428 /* just to shut up gcc */ 1495 1429 default: 1430 AssertFailed(); 1496 1431 break; 1497 1432 } … … 1688 1623 } break; 1689 1624 1690 case VMMDevHGCMParmType_PhysAddr:1691 {1692 /* do nothing */1693 } break;1694 1695 1625 case VMMDevHGCMParmType_LinAddr_In: /* In (read) */ 1696 1626 case VMMDevHGCMParmType_LinAddr_Out: /* Out (write) */ … … 1789 1719 { 1790 1720 pGuestParm->u.value64 = pHostParm->u.uint64; 1791 } break;1792 1793 case VMMDevHGCMParmType_PhysAddr:1794 {1795 /* do nothing */1796 1721 } break; 1797 1722 … … 1892 1817 { 1893 1818 pGuestParm->u.value64 = pHostParm->u.uint64; 1894 } break;1895 1896 case VMMDevHGCMParmType_PhysAddr:1897 {1898 /* do nothing */1899 1819 } break; 1900 1820
Note:
See TracChangeset
for help on using the changeset viewer.