Changeset 36448 in vbox for trunk/src/VBox
- Timestamp:
- Mar 28, 2011 12:37:43 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 70815
- Location:
- trunk/src/VBox
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/VBoxPci/VBoxPci.c
r36436 r36448 409 409 uint32_t u32HostAddress, 410 410 uint32_t fFlags, 411 PRAWPCIVM pVmCtx, 412 PRAWPCIDEVPORT *ppDevPort) 411 PRAWPCIPERVM pVmCtx, 412 PRAWPCIDEVPORT *ppDevPort, 413 uint32_t *pfDevFlags) 413 414 { 414 415 int rc; … … 476 477 uint32_t u32HostAddress, 477 478 uint32_t fFlags, 478 PRAWPCIVM pVmCtx, 479 PRAWPCIDEVPORT *ppDevPort) 479 PRAWPCIPERVM pVmCtx, 480 PRAWPCIDEVPORT *ppDevPort, 481 uint32_t *pfDevFlags) 480 482 { 481 483 PVBOXRAWPCIGLOBALS pGlobals = (PVBOXRAWPCIGLOBALS)((uint8_t *)pFactory - RT_OFFSETOF(VBOXRAWPCIGLOBALS, RawPciFactory)); … … 496 498 } 497 499 498 rc = vboxPciNewInstance(pGlobals, u32HostAddress, fFlags, pVmCtx, ppDevPort );500 rc = vboxPciNewInstance(pGlobals, u32HostAddress, fFlags, pVmCtx, ppDevPort, pfDevFlags); 499 501 500 502 unlock: … … 521 523 static DECLCALLBACK(int) vboxPciFactoryInitVm(PRAWPCIFACTORY pFactory, 522 524 PVM pVM, 523 PRAWPCI VMpVmData)525 PRAWPCIPERVM pVmData) 524 526 { 525 527 PVBOXRAWPCIDRVVM pThis = (PVBOXRAWPCIDRVVM)RTMemAllocZ(sizeof(VBOXRAWPCIDRVVM)); … … 533 535 { 534 536 rc = vboxPciOsInitVm(pThis, pVM, pVmData); 535 #ifdef VBOX_WITH_IOMMU536 /* If IOMMU notification routine in pVmData->pfnContigMemInfo537 is not set - we have no IOMMU hardware. */538 #endif539 537 540 538 if (RT_SUCCESS(rc)) 541 539 { 540 #ifdef VBOX_WITH_IOMMU 541 /* If IOMMU notification routine in pVmData->pfnContigMemInfo 542 is set - we have functional IOMMU hardware. */ 543 if (pVmData->pfnContigMemInfo) 544 pVmData->fVmCaps |= PCIRAW_VMFLAGS_HAS_IOMMU; 545 #endif 542 546 pVmData->pDriverData = pThis; 543 547 return VINF_SUCCESS; … … 557 561 static DECLCALLBACK(void) vboxPciFactoryDeinitVm(PRAWPCIFACTORY pFactory, 558 562 PVM pVM, 559 PRAWPCI VMpPciData)563 PRAWPCIPERVM pPciData) 560 564 { 561 565 if (pPciData->pDriverData) -
trunk/src/VBox/HostDrivers/VBoxPci/VBoxPciInternal.h
r36422 r36448 86 86 void *pIrqContext; 87 87 88 PRAWPCI VMpVmCtx;88 PRAWPCIPERVM pVmCtx; 89 89 } VBOXRAWPCIINS; 90 90 … … 139 139 DECLHIDDEN(void) vboxPciShutdown(PVBOXRAWPCIGLOBALS pGlobals); 140 140 141 DECLHIDDEN(int) vboxPciOsInitVm(PVBOXRAWPCIDRVVM pThis, PVM pVM, PRAWPCI VM pVmData);141 DECLHIDDEN(int) vboxPciOsInitVm(PVBOXRAWPCIDRVVM pThis, PVM pVM, PRAWPCIPERVM pVmData); 142 142 DECLHIDDEN(void) vboxPciOsDeinitVm(PVBOXRAWPCIDRVVM pThis, PVM pVM); 143 143 -
trunk/src/VBox/VMM/VMMR0/PGMR0.cpp
r36441 r36448 20 20 *******************************************************************************/ 21 21 #define LOG_GROUP LOG_GROUP_PGM 22 #include <VBox/rawpci.h> 22 23 #include <VBox/vmm/pgm.h> 23 24 #include <VBox/vmm/gmm.h> 25 #include <VBox/vmm/gvm.h> 24 26 #include "PGMInternal.h" 25 27 #include <VBox/vmm/vm.h> … … 194 196 manager. It shall use the global VM handle, not the user VM handle to 195 197 store the per-VM info (domain) since that is all ring-0 stuff, thus 196 passing pGVM here. I've tentitively prefixed the functions 'GP icRawR0',198 passing pGVM here. I've tentitively prefixed the functions 'GPciRawR0', 197 199 we can discuss the PciRaw code re-organtization when I'm back from 198 200 vacation. … … 235 237 AssertReturn(!(GCPhys & PAGE_OFFSET_MASK), VERR_INTERNAL_ERROR_3); 236 238 AssertReturn(!(HCPhys & PAGE_OFFSET_MASK), VERR_INTERNAL_ERROR_3); 239 240 if (pGVM->rawpci.s.pfnContigMemInfo) 241 /** @todo: what do we do on failure? */ 242 pGVM->rawpci.s.pfnContigMemInfo(&pGVM->rawpci.s, HCPhys, GCPhys, PAGE_SIZE, PCIRAW_MEMINFO_MAP); 243 237 244 return VINF_SUCCESS; 238 245 } … … 254 261 { 255 262 AssertReturn(!(GCPhys & PAGE_OFFSET_MASK), VERR_INTERNAL_ERROR_3); 263 264 if (pGVM->rawpci.s.pfnContigMemInfo) 265 /** @todo: what do we do on failure? */ 266 pGVM->rawpci.s.pfnContigMemInfo(&pGVM->rawpci.s, 0, GCPhys, PAGE_SIZE, PCIRAW_MEMINFO_UNMAP); 267 256 268 return VINF_SUCCESS; 257 269 }
Note:
See TracChangeset
for help on using the changeset viewer.