vbox的更動 12545 路徑 trunk/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp
- 時間撮記:
- 2008-9-17 下午03:11:37 (16 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp
r11458 r12545 84 84 #endif 85 85 86 unsigned idCPU = (pRange->enmCtx == MMIO_REGCTX_GLOBAL) ? 0 : pVM->idCPU; 87 Assert(pRange->u[idCPU].CTXALLSUFF(pDevIns)); 88 86 89 int rc; 87 90 if (RT_LIKELY(pRange->CTXALLSUFF(pfnWriteCallback))) 88 rc = pRange->CTXALLSUFF(pfnWriteCallback)(pRange-> CTXALLSUFF(pDevIns), pRange->CTXALLSUFF(pvUser), GCPhysFault, (void *)pvData, cb); /* @todo fix const!! */91 rc = pRange->CTXALLSUFF(pfnWriteCallback)(pRange->u[idCPU].CTXALLSUFF(pDevIns), pRange->u[idCPU].CTXALLSUFF(pvUser), GCPhysFault, (void *)pvData, cb); /* @todo fix const!! */ 89 92 else 90 93 rc = VINF_SUCCESS; … … 104 107 #endif 105 108 109 unsigned idCPU = (pRange->enmCtx == MMIO_REGCTX_GLOBAL) ? 0 : pVM->idCPU; 110 Assert(pRange->u[idCPU].CTXALLSUFF(pDevIns)); 111 106 112 int rc; 107 113 if (RT_LIKELY(pRange->CTXALLSUFF(pfnReadCallback))) 108 rc = pRange->CTXALLSUFF(pfnReadCallback)(pRange-> CTXALLSUFF(pDevIns), pRange->CTXALLSUFF(pvUser), GCPhysFault, pvData, cb);114 rc = pRange->CTXALLSUFF(pfnReadCallback)(pRange->u[idCPU].CTXALLSUFF(pDevIns), pRange->u[idCPU].CTXALLSUFF(pvUser), GCPhysFault, pvData, cb); 109 115 else 110 116 { … … 583 589 if (pRange->CTXALLSUFF(pfnFillCallback)) 584 590 { 591 unsigned idCPU = (pRange->enmCtx == MMIO_REGCTX_GLOBAL) ? 0 : pVM->idCPU; 592 Assert(pRange->u[idCPU].CTXALLSUFF(pDevIns)); 593 585 594 /* 586 595 * Use the fill callback. … … 590 599 { 591 600 /* addr++ variant. */ 592 rc = pRange->CTXALLSUFF(pfnFillCallback)(pRange-> CTXALLSUFF(pDevIns), pRange->CTXALLSUFF(pvUser), Phys, u32Data, cb, cTransfers);601 rc = pRange->CTXALLSUFF(pfnFillCallback)(pRange->u[idCPU].CTXALLSUFF(pDevIns), pRange->u[idCPU].CTXALLSUFF(pvUser), Phys, u32Data, cb, cTransfers); 593 602 if (rc == VINF_SUCCESS) 594 603 { … … 602 611 { 603 612 /* addr-- variant. */ 604 rc = pRange->CTXALLSUFF(pfnFillCallback)(pRange-> CTXALLSUFF(pDevIns), pRange->CTXALLSUFF(pvUser), (Phys - (cTransfers - 1)) << SIZE_2_SHIFT(cb), u32Data, cb, cTransfers);613 rc = pRange->CTXALLSUFF(pfnFillCallback)(pRange->u[idCPU].CTXALLSUFF(pDevIns), pRange->u[idCPU].CTXALLSUFF(pvUser), (Phys - (cTransfers - 1)) << SIZE_2_SHIFT(cb), u32Data, cb, cTransfers); 605 614 if (rc == VINF_SUCCESS) 606 615 { … … 1268 1277 * Perform the read and deal with the result. 1269 1278 */ 1279 unsigned idCPU = (pRange->enmCtx == MMIO_REGCTX_GLOBAL) ? 0 : pVM->idCPU; 1280 Assert(pRange->u[idCPU].CTXALLSUFF(pDevIns)); 1281 1270 1282 #ifdef VBOX_WITH_STATISTICS 1271 1283 if (pStats) 1272 1284 STAM_PROFILE_ADV_START(&pStats->CTXALLSUFF(ProfRead), a); 1273 1285 #endif 1274 int rc = pRange->CTXALLSUFF(pfnReadCallback)(pRange-> CTXALLSUFF(pDevIns), pRange->CTXALLSUFF(pvUser), GCPhys, pu32Value, cbValue);1286 int rc = pRange->CTXALLSUFF(pfnReadCallback)(pRange->u[idCPU].CTXALLSUFF(pDevIns), pRange->u[idCPU].CTXALLSUFF(pvUser), GCPhys, pu32Value, cbValue); 1275 1287 #ifdef VBOX_WITH_STATISTICS 1276 1288 if (pStats) … … 1375 1387 if (pRange->CTXALLSUFF(pfnWriteCallback)) 1376 1388 { 1389 unsigned idCPU = (pRange->enmCtx == MMIO_REGCTX_GLOBAL) ? 0 : pVM->idCPU; 1390 Assert(pRange->u[idCPU].CTXALLSUFF(pDevIns)); 1391 1377 1392 #ifdef VBOX_WITH_STATISTICS 1378 1393 if (pStats) 1379 1394 STAM_PROFILE_ADV_START(&pStats->CTXALLSUFF(ProfWrite), a); 1380 1395 #endif 1381 int rc = pRange->CTXALLSUFF(pfnWriteCallback)(pRange-> CTXALLSUFF(pDevIns), pRange->CTXALLSUFF(pvUser), GCPhys, &u32Value, cbValue);1396 int rc = pRange->CTXALLSUFF(pfnWriteCallback)(pRange->u[idCPU].CTXALLSUFF(pDevIns), pRange->u[idCPU].CTXALLSUFF(pvUser), GCPhys, &u32Value, cbValue); 1382 1397 #ifdef VBOX_WITH_STATISTICS 1383 1398 if (pStats)
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器