Introduce tow non-blocking task lists to AtaBus. One maintains the sub-task which is related to running Ata Task and the other is for waiting Ata Task. And it will not pass any task to AtaAtapiPassThru until the previous Ata task has been finished or met error.

Signed-off-by: qianouyang
Reviewed-by: czhang46 erictian 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13105 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qianouyang
2012-03-16 03:31:47 +00:00
parent be30ddf795
commit 58727f29ea
6 changed files with 580 additions and 468 deletions

View File

@@ -1,5 +1,5 @@
## @file
# ATA Bus driver to enumerate and identfy ATA devices.
# ATA Bus driver to enumerate and identfy ATA devices.
#
# This driver follows UEFI driver model and layers on ATA Pass Thru protocol defined
# in UEFI spec 2.2. It installs Block IO and Disk Info protocol for each ATA device
@@ -30,9 +30,9 @@
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
#
# DRIVER_BINDING = gAtaBusDriverBinding
# DRIVER_BINDING = gAtaBusDriverBinding
# COMPONENT_NAME = gAtaBusComponentName
# COMPONENT_NAME2 = gAtaBusComponentName2
# COMPONENT_NAME2 = gAtaBusComponentName2
#
#
@@ -41,7 +41,7 @@
AtaBus.c
AtaPassThruExecute.c
ComponentName.c
[Packages]
MdePkg/MdePkg.dec
@@ -54,7 +54,7 @@
BaseLib
UefiDriverEntryPoint
DebugLib
TimerLib
[Guids]
gEfiDiskInfoIdeInterfaceGuid # CONSUMES ## GUID