audk/MdeModulePkg/Bus/Ata/AtaAtapiPassThru
Laszlo Ersek 6fb8ddd36b MdeModulePkg/AtaAtapiPassThru: disable the device at ExitBootServices()
The AtaAtapiPassThru driver maps three system memory regions for Bus
Master Common Buffer operation on the following call path, if the
controller has PCI_CLASS_MASS_STORAGE_SATADPA class code:

  AtaAtapiPassThruStart()
    EnumerateAttachedDevice()
      AhciModeInitialization()
        AhciCreateTransferDescriptor()

The device is disabled (including Bus Master DMA) when the controller is
unbound, in AtaAtapiPassThruStop(). Then the regions are unmapped.

The former step should also be done when we exit the boot services, and
the OS gains ownership of system memory.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-09-08 20:22:38 +02:00
..
AhciMode.c MdeModulePkg/AtaAtapiPassThru: relax PHY detect timeout 2017-06-28 12:47:13 +00:00
AhciMode.h MdeModulePkg/AtaAtapiPassThru: relax PHY detect timeout 2017-06-28 12:47:13 +00:00
AtaAtapiPassThru.c MdeModulePkg/AtaAtapiPassThru: disable the device at ExitBootServices() 2017-09-08 20:22:38 +02:00
AtaAtapiPassThru.h MdeModulePkg/AtaAtapiPassThru: disable the device at ExitBootServices() 2017-09-08 20:22:38 +02:00
AtaAtapiPassThru.inf MdeModulePkg: INF/DEC file updates to EDK II packages 2014-08-28 06:34:06 +00:00
AtaAtapiPassThruDxe.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
AtaAtapiPassThruDxeExtra.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
ComponentName.c
IdeMode.c MdeModulePkg/.../IdeMode: correctly report length of returned data 2016-01-25 11:33:37 +00:00
IdeMode.h