- 時間撮記:
- 2022-2-24 下午09:15:14 (3 年 以前)
- svn:sync-xref-src-repo-rev:
- 150173
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/Devices/VMMDev/VMMDevHGCM.cpp
r93931 r93944 681 681 if (pPtr->cPages == 1) 682 682 return true; 683 RTGCPHYS64 Phys = pPtr->paPages[0] + PAGE_SIZE;683 RTGCPHYS64 Phys = pPtr->paPages[0] + GUEST_PAGE_SIZE; 684 684 if (Phys != pPtr->paPages[1]) 685 685 return false; … … 689 689 do 690 690 { 691 Phys += PAGE_SIZE;691 Phys += GUEST_PAGE_SIZE; 692 692 if (Phys != pPtr->paPages[iPage]) 693 693 return false; … … 724 724 for (uint32_t iPage = 0; iPage < pPtr->cPages && cbRemaining > 0; ++iPage) 725 725 { 726 uint32_t cbToRead = PAGE_SIZE - offPage;726 uint32_t cbToRead = GUEST_PAGE_SIZE - offPage; 727 727 if (cbToRead > cbRemaining) 728 728 cbToRead = cbRemaining; … … 763 763 for (iPage = 0; iPage < pPtr->cPages && cbRemaining > 0; ++iPage) 764 764 { 765 uint32_t cbToWrite = PAGE_SIZE - offPage;765 uint32_t cbToWrite = GUEST_PAGE_SIZE - offPage; 766 766 if (cbToWrite > cbRemaining) 767 767 cbToWrite = cbRemaining; … … 1088 1088 ASSERT_GUEST_RETURN(cbData <= VMMDEV_MAX_HGCM_DATA_SIZE, VERR_INVALID_PARAMETER); 1089 1089 1090 const uint32_t offFirstPage = cbData > 0 ? GCPtr & PAGE_OFFSET_MASK : 0;1091 const uint32_t cPages = cbData > 0 ? (offFirstPage + cbData + PAGE_SIZE - 1) /PAGE_SIZE : 0;1090 const uint32_t offFirstPage = cbData > 0 ? GCPtr & GUEST_PAGE_OFFSET_MASK : 0; 1091 const uint32_t cPages = cbData > 0 ? (offFirstPage + cbData + GUEST_PAGE_SIZE - 1) / GUEST_PAGE_SIZE : 0; 1092 1092 1093 1093 pGuestParm->u.ptr.cbData = cbData; … … 1124 1124 1125 1125 pGuestParm->u.ptr.paPages[iPage] = GCPhys; 1126 GCPtr += PAGE_SIZE;1126 GCPtr += GUEST_PAGE_SIZE; 1127 1127 } 1128 1128 } … … 1169 1169 ("%#x\n", pPageListInfo->flags), VERR_INVALID_FLAGS); 1170 1170 /* First page offset. */ 1171 ASSERT_GUEST_MSG_RETURN(pPageListInfo->offFirstPage < PAGE_SIZE,1171 ASSERT_GUEST_MSG_RETURN(pPageListInfo->offFirstPage < GUEST_PAGE_SIZE, 1172 1172 ("%#x\n", pPageListInfo->offFirstPage), VERR_INVALID_PARAMETER); 1173 1173 … … 1177 1177 ASSERT_GUEST_MSG_RETURN( pPageListInfo->cPages 1178 1178 == (pGuestParm->enmType == VMMDevHGCMParmType_ContiguousPageList ? 1 1179 : RT_ALIGN_32(pPageListInfo->offFirstPage + cbData, PAGE_SIZE) >> PAGE_SHIFT) 1179 : RT_ALIGN_32(pPageListInfo->offFirstPage + cbData, GUEST_PAGE_SIZE) 1180 >> GUEST_PAGE_SHIFT) 1180 1181 || pGuestParm->enmType == VMMDevHGCMParmType_PageList, 1181 1182 ("offFirstPage=%#x cbData=%#x cPages=%#x enmType=%d\n", … … 1192 1193 { 1193 1194 /* Validate page offsets */ 1194 ASSERT_GUEST_MSG_RETURN( !(pPageListInfo->aPages[0] & PAGE_OFFSET_MASK)1195 || (pPageListInfo->aPages[0] & PAGE_OFFSET_MASK) == pPageListInfo->offFirstPage,1195 ASSERT_GUEST_MSG_RETURN( !(pPageListInfo->aPages[0] & GUEST_PAGE_OFFSET_MASK) 1196 || (pPageListInfo->aPages[0] & GUEST_PAGE_OFFSET_MASK) == pPageListInfo->offFirstPage, 1196 1197 ("%#RX64 offFirstPage=%#x\n", pPageListInfo->aPages[0], pPageListInfo->offFirstPage), 1197 1198 VERR_INVALID_POINTER); 1198 1199 uint32_t const cPages = pPageListInfo->cPages; 1199 1200 for (uint32_t iPage = 1; iPage < cPages; iPage++) 1200 ASSERT_GUEST_MSG_RETURN(!(pPageListInfo->aPages[iPage] & PAGE_OFFSET_MASK),1201 ASSERT_GUEST_MSG_RETURN(!(pPageListInfo->aPages[iPage] & GUEST_PAGE_OFFSET_MASK), 1201 1202 ("[%#zx]=%#RX64\n", iPage, pPageListInfo->aPages[iPage]), VERR_INVALID_POINTER); 1202 1203 RT_UNTRUSTED_VALIDATED_FENCE();
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器