\r
Copyright (C) 2012, Red Hat, Inc.\r
\r
- This program and the accompanying materials are licensed and made available\r
- under the terms and conditions of the BSD License which accompanies this\r
- distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT\r
- WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
\r
#include <Protocol/ComponentName.h>\r
#include <Protocol/DriverBinding.h>\r
-#include <Protocol/PciIo.h>\r
#include <Protocol/ScsiPassThruExt.h>\r
\r
#include <IndustryStandard/Virtio.h>\r
// identification, and 8 bytes for LUN identification.\r
//\r
// EFI_EXT_SCSI_PASS_THRU_MODE.AdapterId is also a target identifier,\r
-// consisting of 4 bytes. Make sure TARGET_MAX_BYTES can accomodate both\r
+// consisting of 4 bytes. Make sure TARGET_MAX_BYTES can accommodate both\r
// AdapterId and our target identifiers.\r
//\r
#if TARGET_MAX_BYTES < 4\r
// at various call depths. The table to the right should make it easier to\r
// track them.\r
//\r
- // field init function init depth\r
- // ---------------------- ------------------ ----------\r
- UINT32 Signature; // DriverBindingStart 0\r
- EFI_PCI_IO_PROTOCOL *PciIo; // DriverBindingStart 0\r
- UINT64 OriginalPciAttributes; // DriverBindingStart 0\r
- BOOLEAN InOutSupported; // VirtioScsiInit 1\r
- UINT16 MaxTarget; // VirtioScsiInit 1\r
- UINT32 MaxLun; // VirtioScsiInit 1\r
- UINT32 MaxSectors; // VirtioScsiInit 1\r
- VRING Ring; // VirtioRingInit 2\r
- EFI_EXT_SCSI_PASS_THRU_PROTOCOL PassThru; // VirtioScsiInit 1\r
- EFI_EXT_SCSI_PASS_THRU_MODE PassThruMode; // VirtioScsiInit 1\r
+ // field init function init depth\r
+ // ---------------- ------------------ ----------\r
+ UINT32 Signature; // DriverBindingStart 0\r
+ VIRTIO_DEVICE_PROTOCOL *VirtIo; // DriverBindingStart 0\r
+ EFI_EVENT ExitBoot; // DriverBindingStart 0\r
+ BOOLEAN InOutSupported; // VirtioScsiInit 1\r
+ UINT16 MaxTarget; // VirtioScsiInit 1\r
+ UINT32 MaxLun; // VirtioScsiInit 1\r
+ UINT32 MaxSectors; // VirtioScsiInit 1\r
+ VRING Ring; // VirtioRingInit 2\r
+ EFI_EXT_SCSI_PASS_THRU_PROTOCOL PassThru; // VirtioScsiInit 1\r
+ EFI_EXT_SCSI_PASS_THRU_MODE PassThruMode; // VirtioScsiInit 1\r
+ VOID *RingMap; // VirtioRingMap 2\r
} VSCSI_DEV;\r
\r
#define VIRTIO_SCSI_FROM_PASS_THRU(PassThruPointer) \\r