Changeset 41847 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Jun 20, 2012 1:43:46 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 78676
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp
r41800 r41847 57 57 58 58 /******************************************************************************* 59 * Prototypes * 60 *******************************************************************************/ 61 static int pdmR0DevHlp_PhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead); 62 static int pdmR0DevHlp_PhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite); 63 64 65 /******************************************************************************* 59 66 * Internal Functions * 60 67 *******************************************************************************/ … … 66 73 * @{ 67 74 */ 75 76 /** @interface_method_impl{PDMDEVHLPR0,pfnPCIPhysRead} */ 77 static DECLCALLBACK(int) pdmR0DevHlp_PCIPhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead) 78 { 79 PDMDEV_ASSERT_DEVINS(pDevIns); 80 LogFlow(("pdmR0DevHlp_PCIPhysRead: caller=%p/%d: GCPhys=%RGp pvBuf=%p cbRead=%#x\n", 81 pDevIns, pDevIns->iInstance, GCPhys, pvBuf, cbRead)); 82 83 PCIDevice *pPciDev = pDevIns->Internal.s.pPciDeviceR0; 84 AssertPtrReturn(pPciDev, VERR_INVALID_POINTER); 85 86 if (!PCIDevIsBusmaster(pPciDev)) 87 { 88 #ifdef DEBUG 89 LogFlow(("%s: %RU16:%RU16: No bus master (anymore), skipping read %p (%z)\n", __FUNCTION__, 90 PCIDevGetVendorId(pPciDev), PCIDevGetDeviceId(pPciDev), pvBuf, cbRead)); 91 #endif 92 return VINF_PDM_PCI_PHYS_READ_BM_DISABLED; 93 } 94 95 return pdmR0DevHlp_PhysRead(pDevIns, GCPhys, pvBuf, cbRead); 96 } 97 98 99 /** @interface_method_impl{PDMDEVHLPR0,pfnPCIPhysRead} */ 100 static DECLCALLBACK(int) pdmR0DevHlp_PCIPhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite) 101 { 102 PDMDEV_ASSERT_DEVINS(pDevIns); 103 LogFlow(("pdmR0DevHlp_PCIPhysWrite: caller=%p/%d: GCPhys=%RGp pvBuf=%p cbWrite=%#x\n", 104 pDevIns, pDevIns->iInstance, GCPhys, pvBuf, cbWrite)); 105 106 PCIDevice *pPciDev = pDevIns->Internal.s.pPciDeviceR0; 107 AssertPtrReturn(pPciDev, VERR_INVALID_POINTER); 108 109 if (!PCIDevIsBusmaster(pPciDev)) 110 { 111 #ifdef DEBUG 112 LogFlow(("%s: %RU16:%RU16: No bus master (anymore), skipping write %p (%z)\n", __FUNCTION__, 113 PCIDevGetVendorId(pPciDev), PCIDevGetDeviceId(pPciDev), pvBuf, cbWrite)); 114 #endif 115 return VINF_PDM_PCI_PHYS_WRITE_BM_DISABLED; 116 } 117 118 return pdmR0DevHlp_PhysWrite(pDevIns, GCPhys, pvBuf, cbWrite); 119 } 120 68 121 69 122 /** @interface_method_impl{PDMDEVHLPR0,pfnPCISetIrq} */ … … 331 384 { 332 385 PDM_DEVHLPR0_VERSION, 386 pdmR0DevHlp_PCIPhysRead, 387 pdmR0DevHlp_PCIPhysWrite, 333 388 pdmR0DevHlp_PCISetIrq, 334 389 pdmR0DevHlp_ISASetIrq, -
trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
r41783 r41847 1063 1063 1064 1064 NOREF(pVM); 1065 } 1066 1067 1068 /** @interface_method_impl{PDMDEVHLPR3,pfnPCIDevPhysRead} */ 1069 static DECLCALLBACK(int) pdmR3DevHlp_PCIPhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead) 1070 { 1071 PDMDEV_ASSERT_DEVINS(pDevIns); 1072 return PDMDevHlpPCIDevPhysRead(pDevIns->Internal.s.pPciDeviceR3, GCPhys, pvBuf, cbRead); 1073 } 1074 1075 1076 /** @interface_method_impl{PDMDEVHLPR3,pfnPCIDevPhysWrite} */ 1077 static DECLCALLBACK(int) pdmR3DevHlp_PCIPhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite) 1078 { 1079 PDMDEV_ASSERT_DEVINS(pDevIns); 1080 return PDMDevHlpPCIDevPhysWrite(pDevIns->Internal.s.pPciDeviceR3, GCPhys, pvBuf, cbWrite); 1065 1081 } 1066 1082 … … 3344 3360 pdmR3DevHlp_STAMRegisterF, 3345 3361 pdmR3DevHlp_STAMRegisterV, 3362 pdmR3DevHlp_PCIPhysRead, 3363 pdmR3DevHlp_PCIPhysWrite, 3346 3364 pdmR3DevHlp_PCIRegister, 3347 3365 pdmR3DevHlp_PCIRegisterMsi, … … 3563 3581 pdmR3DevHlp_STAMRegisterF, 3564 3582 pdmR3DevHlp_STAMRegisterV, 3583 pdmR3DevHlp_PCIPhysRead, 3584 pdmR3DevHlp_PCIPhysWrite, 3565 3585 pdmR3DevHlp_PCIRegister, 3566 3586 pdmR3DevHlp_PCIRegisterMsi, -
trunk/src/VBox/VMM/VMMRC/PDMRCDevice.cpp
r41783 r41847 55 55 56 56 /******************************************************************************* 57 * Prototypes * 58 *******************************************************************************/ 59 static int pdmRCDevHlp_PhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead); 60 static int pdmRCDevHlp_PhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite); 61 62 63 /******************************************************************************* 57 64 * Internal Functions * 58 65 *******************************************************************************/ … … 63 70 * @{ 64 71 */ 72 73 /** @interface_method_impl{PDMDEVHLPRC,pfnPCIPhysRead} */ 74 static DECLCALLBACK(int) pdmRCDevHlp_PCIPhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead) 75 { 76 PDMDEV_ASSERT_DEVINS(pDevIns); 77 LogFlow(("pdmRCDevHlp_PCIPhysRead: caller=%p/%d: GCPhys=%RGp pvBuf=%p cbRead=%#x\n", 78 pDevIns, pDevIns->iInstance, GCPhys, pvBuf, cbRead)); 79 80 PCIDevice *pPciDev = pDevIns->Internal.s.pPciDeviceRC; 81 AssertPtrReturn(pPciDev, VERR_INVALID_POINTER); 82 83 if (!PCIDevIsBusmaster(pPciDev)) 84 { 85 #ifdef DEBUG 86 LogFlow(("%s: %RU16:%RU16: No bus master (anymore), skipping read %p (%z)\n", __FUNCTION__, 87 PCIDevGetVendorId(pPciDev), PCIDevGetDeviceId(pPciDev), pvBuf, cbRead)); 88 #endif 89 return VINF_PDM_PCI_PHYS_READ_BM_DISABLED; 90 } 91 92 return pdmRCDevHlp_PhysRead(pDevIns, GCPhys, pvBuf, cbRead); 93 } 94 95 96 /** @interface_method_impl{PDMDEVHLPRC,pfnPCIPhysRead} */ 97 static DECLCALLBACK(int) pdmRCDevHlp_PCIPhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite) 98 { 99 PDMDEV_ASSERT_DEVINS(pDevIns); 100 LogFlow(("pdmRCDevHlp_PCIPhysWrite: caller=%p/%d: GCPhys=%RGp pvBuf=%p cbWrite=%#x\n", 101 pDevIns, pDevIns->iInstance, GCPhys, pvBuf, cbWrite)); 102 103 PCIDevice *pPciDev = pDevIns->Internal.s.pPciDeviceRC; 104 AssertPtrReturn(pPciDev, VERR_INVALID_POINTER); 105 106 if (!PCIDevIsBusmaster(pPciDev)) 107 { 108 #ifdef DEBUG 109 LogFlow(("%s: %RU16:%RU16: No bus master (anymore), skipping write %p (%z)\n", __FUNCTION__, 110 PCIDevGetVendorId(pPciDev), PCIDevGetDeviceId(pPciDev), pvBuf, cbWrite)); 111 #endif 112 return VINF_PDM_PCI_PHYS_WRITE_BM_DISABLED; 113 } 114 115 return pdmRCDevHlp_PhysWrite(pDevIns, GCPhys, pvBuf, cbWrite); 116 } 117 65 118 66 119 /** @interface_method_impl{PDMDEVHLPRC,pfnPCISetIrq} */ … … 316 369 { 317 370 PDM_DEVHLPRC_VERSION, 371 pdmRCDevHlp_PCIPhysRead, 372 pdmRCDevHlp_PCIPhysWrite, 318 373 pdmRCDevHlp_PCISetIrq, 319 374 pdmRCDevHlp_ISASetIrq,
Note:
See TracChangeset
for help on using the changeset viewer.