\r
#include <IndustryStandard/Virtio.h>\r
\r
-\r
-#define VBLK_SIG SIGNATURE_32 ('V', 'B', 'L', 'K')\r
+#define VBLK_SIG SIGNATURE_32 ('V', 'B', 'L', 'K')\r
\r
typedef struct {\r
//\r
//\r
// field init function init dpth\r
// --------------------- ------------------ ---------\r
- UINT32 Signature; // DriverBindingStart 0\r
- VIRTIO_DEVICE_PROTOCOL *VirtIo; // DriverBindingStart 0\r
- EFI_EVENT ExitBoot; // DriverBindingStart 0\r
- VRING Ring; // VirtioRingInit 2\r
- EFI_BLOCK_IO_PROTOCOL BlockIo; // VirtioBlkInit 1\r
- EFI_BLOCK_IO_MEDIA BlockIoMedia; // VirtioBlkInit 1\r
- VOID *RingMap; // VirtioRingMap 2\r
+ UINT32 Signature; // DriverBindingStart 0\r
+ VIRTIO_DEVICE_PROTOCOL *VirtIo; // DriverBindingStart 0\r
+ EFI_EVENT ExitBoot; // DriverBindingStart 0\r
+ VRING Ring; // VirtioRingInit 2\r
+ EFI_BLOCK_IO_PROTOCOL BlockIo; // VirtioBlkInit 1\r
+ EFI_BLOCK_IO_MEDIA BlockIoMedia; // VirtioBlkInit 1\r
+ VOID *RingMap; // VirtioRingMap 2\r
} VBLK_DEV;\r
\r
#define VIRTIO_BLK_FROM_BLOCK_IO(BlockIoPointer) \\r
CR (BlockIoPointer, VBLK_DEV, BlockIo, VBLK_SIG)\r
\r
-\r
/**\r
\r
Device probe function for this driver.\r
EFI_STATUS\r
EFIAPI\r
VirtioBlkDriverBindingSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE DeviceHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE DeviceHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
-\r
/**\r
\r
After we've pronounced support for a specific device in\r
EFI_STATUS\r
EFIAPI\r
VirtioBlkDriverBindingStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE DeviceHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE DeviceHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
-\r
/**\r
\r
Stop driving a virtio-blk device and remove its BlockIo interface.\r
EFI_STATUS\r
EFIAPI\r
VirtioBlkDriverBindingStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE DeviceHandle,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE DeviceHandle,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
);\r
\r
-\r
//\r
// UEFI Spec 2.3.1 + Errata C, 12.8 EFI Block I/O Protocol\r
// Driver Writer's Guide for UEFI 2.3.1 v1.01,\r
EFI_STATUS\r
EFIAPI\r
VirtioBlkReset (\r
- IN EFI_BLOCK_IO_PROTOCOL *This,\r
- IN BOOLEAN ExtendedVerification\r
+ IN EFI_BLOCK_IO_PROTOCOL *This,\r
+ IN BOOLEAN ExtendedVerification\r
);\r
\r
-\r
/**\r
\r
ReadBlocks() operation for virtio-blk.\r
EFI_STATUS\r
EFIAPI\r
VirtioBlkReadBlocks (\r
- IN EFI_BLOCK_IO_PROTOCOL *This,\r
- IN UINT32 MediaId,\r
- IN EFI_LBA Lba,\r
- IN UINTN BufferSize,\r
- OUT VOID *Buffer\r
+ IN EFI_BLOCK_IO_PROTOCOL *This,\r
+ IN UINT32 MediaId,\r
+ IN EFI_LBA Lba,\r
+ IN UINTN BufferSize,\r
+ OUT VOID *Buffer\r
);\r
\r
-\r
/**\r
\r
WriteBlocks() operation for virtio-blk.\r
EFI_STATUS\r
EFIAPI\r
VirtioBlkWriteBlocks (\r
- IN EFI_BLOCK_IO_PROTOCOL *This,\r
- IN UINT32 MediaId,\r
- IN EFI_LBA Lba,\r
- IN UINTN BufferSize,\r
- IN VOID *Buffer\r
+ IN EFI_BLOCK_IO_PROTOCOL *This,\r
+ IN UINT32 MediaId,\r
+ IN EFI_LBA Lba,\r
+ IN UINTN BufferSize,\r
+ IN VOID *Buffer\r
);\r
\r
-\r
/**\r
\r
FlushBlocks() operation for virtio-blk.\r
EFI_STATUS\r
EFIAPI\r
VirtioBlkFlushBlocks (\r
- IN EFI_BLOCK_IO_PROTOCOL *This\r
+ IN EFI_BLOCK_IO_PROTOCOL *This\r
);\r
\r
-\r
//\r
// The purpose of the following scaffolding (EFI_COMPONENT_NAME_PROTOCOL and\r
// EFI_COMPONENT_NAME2_PROTOCOL implementation) is to format the driver's name\r
EFI_STATUS\r
EFIAPI\r
VirtioBlkGetDriverName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **DriverName\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **DriverName\r
);\r
\r
EFI_STATUS\r
EFIAPI\r
VirtioBlkGetDeviceName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN EFI_HANDLE DeviceHandle,\r
- IN EFI_HANDLE ChildHandle,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **ControllerName\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN EFI_HANDLE DeviceHandle,\r
+ IN EFI_HANDLE ChildHandle,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **ControllerName\r
);\r
\r
#endif // _VIRTIO_BLK_DXE_H_\r