This series of patches will add BlockIO2 (non-blocking I/O) support for UFS devices.
Since the UFS stack is reusing EDKII SCSI stack, therefore, apart from the UfsPassThruDxe driver, UefiScsiLib, ScsiBusDxe and ScsiDiskDxe should also be modified to support non-blocking I/O operations. | | EFI_BLOCK_IO2_PROTOCOL v |-------------------------| call | ScsiDiskDxe Driver |-------------------------| |-------------------------| v | |-------------------------| | EFI_SCSI_IO_PROTOCOL | UefiScsiLib | v |-------------------------| |-------------------------| ^ | ScsiBusDxe Driver |-------------------------| |-------------------------| call | | EFI_EXT_SCSI_PASS_THRU_PROTOCOL v |-------------------------| | UfsPassThruDxe Driver | |-------------------------| Hao Wu (4): MdePkg UefiScsiLib: Add non-blocking support for SCSI Read/Write command MdeModulePkg ScsiDiskDxe: Add BlockIO2 Support MdeModulePkg UfsPassThruDxe: Add Non-blocking I/O Support MdeModulePkg ScsiBusDxe: Fix caller event may nerver be signaled MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.c | 44 +- MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ComponentName.c | 4 +- MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c | 1403 +++++++++++++++++++- MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.h | 322 ++++- MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf | 6 +- MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.c | 45 +- MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.h | 58 +- .../Bus/Ufs/UfsPassThruDxe/UfsPassThruHci.c | 288 +++- MdePkg/Include/Library/UefiScsiLib.h | 360 +++++ MdePkg/Library/UefiScsiLib/UefiScsiLib.c | 776 +++++++++++ MdePkg/Library/UefiScsiLib/UefiScsiLib.inf | 4 +- 11 files changed, 3243 insertions(+), 67 deletions(-) -- 1.9.5.msysgit.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel