## @file
# Description file for the Atapi Pass Thru driver.
#
# This driver simulates SCSI devices with Atapi devices to test the SCSI io
#  protocol.
# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
#
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution. The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = AtapiPassThruDxe
  FILE_GUID                      = E49061CE-99A7-41d3-AB3A-36E5CFBAD63E
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = InitializeAtapiPassThru

  PCI_VENDOR_ID                  = 0x8086
  PCI_DEVICE_ID                  = 0x2921
  PCI_CLASS_CODE                 = 0x010100
  PCI_REVISION                   = 0x0003

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#
#  DRIVER_BINDING                =  gAtapiScsiPassThruDriverBinding              
#  COMPONENT_NAME                =  gAtapiScsiPassThruComponentName              
#

[Sources]
  DriverSupportedEfiVersion.c
  ComponentName.c
  AtapiPassThru.c
  AtapiPassThru.h


[Packages]
  MdePkg/MdePkg.dec
  OptionRomPkg/OptionRomPkg.dec

[LibraryClasses]
  UefiBootServicesTableLib
  MemoryAllocationLib
  BaseMemoryLib
  UefiLib
  BaseLib
  UefiDriverEntryPoint
  DebugLib
  DevicePathLib


[Protocols]
  gEfiScsiPassThruProtocolGuid                  # PROTOCOL BY_START
  gEfiExtScsiPassThruProtocolGuid               # PROTOCOL BY_START
  gEfiPciIoProtocolGuid                         # PROTOCOL TO_START
  gEfiDriverSupportedEfiVersionProtocolGuid     # PROTOCOL ALWAYS_PRODUCED

[FeaturePcd]
  gOptionRomPkgTokenSpaceGuid.PcdSupportScsiPassThru
  gOptionRomPkgTokenSpaceGuid.PcdSupportExtScsiPassThru

[Pcd]
  gOptionRomPkgTokenSpaceGuid.PcdDriverSupportedEfiVersion

