## @file
# PEIM to produce gEfiPeiVirtualBlockIoPpiGuid PPI for ATA controllers in the platform.
# This PPI can be consumed by PEIM which produce gEfiPeiDeviceRecoveryModulePpiGuid
# for Atapi CD ROM device.
#
# This module discovers CDROM devices in Legacy and native mode and installs block IO ppis for them.
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = IdeBusPei
  MODULE_UNI_FILE                = IdeBusPei.uni
  FILE_GUID                      = B7A5041A-78BA-49e3-B73B-54C757811FB6
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = AtapiPeimEntry

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  AtapiPeim.h
  AtapiPeim.c


[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec


[LibraryClasses]
  IoLib
  BaseMemoryLib
  PeiServicesLib
  PeimEntryPoint
  DebugLib
  TimerLib
  PeiServicesTablePointerLib
  MemoryAllocationLib
  PcdLib

[Ppis]
  gPeiAtaControllerPpiGuid                      ## CONSUMES
  gEfiPeiVirtualBlockIoPpiGuid                  ## PRODUCES
  gEfiPeiVirtualBlockIo2PpiGuid                 ## PRODUCES

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdSataSpinUpDelayInSecForRecoveryPath   ## CONSUMES

[Depex]
  gEfiPeiMemoryDiscoveredPpiGuid AND gPeiAtaControllerPpiGuid

[UserExtensions.TianoCore."ExtraFiles"]
  IdeBusPeiExtra.uni
