#include <Library/DebugLib.h>\r
#include <Protocol/ScsiPassThruExt.h>\r
\r
+typedef struct {\r
+ EFI_PHYSICAL_ADDRESS DeviceAddress;\r
+ VOID *Mapping;\r
+} PVSCSI_DMA_DESC;\r
+\r
+typedef struct {\r
+ PVSCSI_RINGS_STATE *RingState;\r
+ PVSCSI_DMA_DESC RingStateDmaDesc;\r
+\r
+ PVSCSI_RING_REQ_DESC *RingReqs;\r
+ PVSCSI_DMA_DESC RingReqsDmaDesc;\r
+\r
+ PVSCSI_RING_CMP_DESC *RingCmps;\r
+ PVSCSI_DMA_DESC RingCmpsDmaDesc;\r
+} PVSCSI_RING_DESC;\r
+\r
#define PVSCSI_SIG SIGNATURE_32 ('P', 'S', 'C', 'S')\r
\r
typedef struct {\r
UINT32 Signature;\r
+ EFI_PCI_IO_PROTOCOL *PciIo;\r
+ UINT64 OriginalPciAttributes;\r
+ PVSCSI_RING_DESC RingDesc;\r
+ UINT8 MaxTarget;\r
+ UINT8 MaxLun;\r
EFI_EXT_SCSI_PASS_THRU_PROTOCOL PassThru;\r
EFI_EXT_SCSI_PASS_THRU_MODE PassThruMode;\r
} PVSCSI_DEV;\r