Changeset 79973 in vbox for trunk/src/VBox/Devices/Storage
- Timestamp:
- Jul 25, 2019 8:10:25 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 132404
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevVirtioSCSI.cpp
r79929 r79973 55 55 typedef struct VIRTIOSCSITARGET 56 56 { 57 58 59 /** Pointer to the owning virtioScsi device instance. - R3 pointer */ 57 /** Pointer to PCI device that owns this target instance. - R3 /pointer */ 60 58 R3PTRTYPE(struct VIRTIOSCSI *) pVirtioScsiR3; 61 /** Pointer to the owning virtioScsi deviceinstance. - R0 pointer */59 /** Pointer to PCI device that owns this target instance. - R0 pointer */ 62 60 R3PTRTYPE(struct VIRTIOSCSI *) pVirtioScsiR0; 63 /** Pointer to the owning virtioScsi deviceinstance. - RC pointer */61 /** Pointer to PCI device that owns this target instance. - RC pointer */ 64 62 R3PTRTYPE(struct VIRTIOSCSI *) pVirtioScsiRC; 65 63 … … 108 106 typedef struct VIRTIOSCSI 109 107 { 108 /* virtioState must be first member */ 109 VIRTIOSTATE virtioState; 110 111 /* SCSI target instances data */ 112 VIRTIOSCSITARGET aTargetInstances[VIRTIOSCSI_MAX_TARGETS]; 110 113 111 114 PPDMDEVINSR3 pDevInsR3; /**< Device instance - R3. */ 112 115 PPDMDEVINSR0 pDevInsR0; /**< Device instance - R0. */ 113 116 PPDMDEVINSRC pDevInsRC; /**< Device instance - RC. */ 114 115 /* virtioState must be first member */116 VIRTIOSTATE virtioState;117 118 /* SCSI target instances data */119 VIRTIOSCSITARGET aTargetInstances[VIRTIOSCSI_MAX_TARGETS];120 121 /** Base address of the I/O ports. */122 RTIOPORT IOPortBase;123 117 124 118 /** Base address of the memory mapping. */ … … 766 760 PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMEDIAPORT, &pTarget->IMediaPort); 767 761 PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMEDIAEXPORT, &pTarget->IMediaExPort); 762 763 /* This call back is necessary to get Status / LED support */ 764 return virtioQueryInterface(pInterface, pszIID); 765 768 766 return NULL; 769 767 } … … 867 865 pVirtioPciParams->uInterruptPin = 0x01; 868 866 869 870 PVIRTIOSTATE pVirtioScsi = &(pThis->virtioState); 871 rc = virtioConstruct(pDevIns, pVirtioScsi, iInstance, pVirtioPciParams, 867 PVIRTIOSTATE pVirtio = &(pThis->virtioState); 868 pDevIns->IBase.pfnQueryInterface = virtioScsiR3DeviceQueryInterface; 869 870 rc = virtioConstruct(pDevIns, pVirtio, iInstance, pVirtioPciParams, 872 871 VIRTIO_SCSI_NAME_FMT, VIRTIO_SCSI_N_QUEUES, VIRTIO_SCSI_REGION_PCI_CAP, 873 virtioScsiR3DevCapRead, virtioScsiR3DevCapWrite, sizeof(VIRTIODEVC FG));872 virtioScsiR3DevCapRead, virtioScsiR3DevCapWrite, sizeof(VIRTIODEVCAP)); 874 873 if (RT_FAILURE(rc)) 875 874 return PDMDEV_SET_ERROR(pDevIns, rc, N_("virtio-scsi: failed to initialize VirtIO")); 876 875 877 rc = PDMDevHlpPCIIORegionRegister(pDevIns, VIRTIO_SCSI_REGION_ PORT_IO, 32,876 rc = PDMDevHlpPCIIORegionRegister(pDevIns, VIRTIO_SCSI_REGION_MEM_IO, 32, 878 877 PCI_ADDRESS_SPACE_MEM, virtioScsiR3Map); 879 878 if (RT_FAILURE(rc)) … … 904 903 PVIRTIOSCSITARGET pTarget = &pThis->aTargetInstances[iLUN]; 905 904 906 if (RTStrAPrintf(&pTarget->pszLunName, "V SCSI%u", iLUN) < 0)905 if (RTStrAPrintf(&pTarget->pszLunName, "VIRTIOSCSI%u", iLUN) < 0) 907 906 AssertLogRelFailedReturn(VERR_NO_MEMORY); 908 907 … … 919 918 pTarget->IMediaExPort.pfnIoReqQueryBuf = NULL; 920 919 pTarget->IMediaExPort.pfnIoReqQueryDiscardRanges = NULL; 921 pDevIns->IBase.pfnQueryInterface = virtioScsiR3DeviceQueryInterface;922 920 923 921 LogFunc(("Attaching LUN: %s\n", pTarget->pszLunName)); … … 986 984 "virtio-scsi", 987 985 /* szRCMod */ 988 " ",986 "VBoxDDRC.rc", 989 987 /* szR0Mod */ 990 " ",988 "VBoxDDR0.r0", 991 989 /* pszDescription */ 992 "Virtio SCSI.\n",990 "Virtio Host SCSI.\n", 993 991 /* fFlags */ 994 992 #ifdef VIRTIOSCSI_GC_SUPPORT
Note:
See TracChangeset
for help on using the changeset viewer.