]>
Commit | Line | Data |
---|---|---|
e497432c LA |
1 | /** @file\r |
2 | \r | |
3 | Internal definitions for the PVSCSI driver, which produces Extended SCSI\r | |
4 | Pass Thru Protocol instances for pvscsi devices.\r | |
5 | \r | |
6 | Copyright (C) 2020, Oracle and/or its affiliates.\r | |
7 | \r | |
8 | SPDX-License-Identifier: BSD-2-Clause-Patent\r | |
9 | \r | |
10 | **/\r | |
11 | \r | |
12 | #ifndef __PVSCSI_DXE_H_\r | |
13 | #define __PVSCSI_DXE_H_\r | |
14 | \r | |
15 | #include <Library/DebugLib.h>\r | |
16 | #include <Protocol/ScsiPassThruExt.h>\r | |
17 | \r | |
b654edec LA |
18 | typedef struct {\r |
19 | EFI_PHYSICAL_ADDRESS DeviceAddress;\r | |
20 | VOID *Mapping;\r | |
21 | } PVSCSI_DMA_DESC;\r | |
22 | \r | |
23 | typedef struct {\r | |
24 | PVSCSI_RINGS_STATE *RingState;\r | |
25 | PVSCSI_DMA_DESC RingStateDmaDesc;\r | |
26 | \r | |
27 | PVSCSI_RING_REQ_DESC *RingReqs;\r | |
28 | PVSCSI_DMA_DESC RingReqsDmaDesc;\r | |
29 | \r | |
30 | PVSCSI_RING_CMP_DESC *RingCmps;\r | |
31 | PVSCSI_DMA_DESC RingCmpsDmaDesc;\r | |
32 | } PVSCSI_RING_DESC;\r | |
33 | \r | |
e497432c LA |
34 | #define PVSCSI_SIG SIGNATURE_32 ('P', 'S', 'C', 'S')\r |
35 | \r | |
36 | typedef struct {\r | |
37 | UINT32 Signature;\r | |
c08eaaaf | 38 | EFI_PCI_IO_PROTOCOL *PciIo;\r |
45098e8a | 39 | UINT64 OriginalPciAttributes;\r |
b654edec | 40 | PVSCSI_RING_DESC RingDesc;\r |
7efce2e5 LA |
41 | UINT8 MaxTarget;\r |
42 | UINT8 MaxLun;\r | |
e497432c LA |
43 | EFI_EXT_SCSI_PASS_THRU_PROTOCOL PassThru;\r |
44 | EFI_EXT_SCSI_PASS_THRU_MODE PassThruMode;\r | |
45 | } PVSCSI_DEV;\r | |
46 | \r | |
47 | #define PVSCSI_FROM_PASS_THRU(PassThruPointer) \\r | |
48 | CR (PassThruPointer, PVSCSI_DEV, PassThru, PVSCSI_SIG)\r | |
49 | \r | |
50 | #endif // __PVSCSI_DXE_H_\r |