## @file
# Intel VTd DXE Driver.
#
# This driver initializes VTd engine based upon DMAR ACPI tables
# and provide DMA protection to PCI or ACPI device.
#
# Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = IntelVTdDxe
  MODULE_UNI_FILE                = IntelVTdDxe.uni
  FILE_GUID                      = 987555D6-595D-4CFA-B895-59B89368BD4D
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = IntelVTdInitialize

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#
#

[Sources]
  IntelVTdDxe.c
  BmDma.c
  DmaProtection.c
  DmaProtection.h
  DmarAcpiTable.c
  PciInfo.c
  TranslationTable.c
  TranslationTableEx.c
  VtdReg.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelSiliconPkg/IntelSiliconPkg.dec

[LibraryClasses]
  DebugLib
  UefiDriverEntryPoint
  UefiBootServicesTableLib
  BaseLib
  IoLib
  PciSegmentLib
  BaseMemoryLib
  MemoryAllocationLib
  UefiLib
  CacheMaintenanceLib
  PerformanceLib
  PrintLib
  ReportStatusCodeLib

[Guids]
  gEfiEventExitBootServicesGuid   ## CONSUMES ## Event
  ## CONSUMES ## SystemTable
  ## CONSUMES ## Event
  gEfiAcpi20TableGuid
  ## CONSUMES ## SystemTable
  ## CONSUMES ## Event
  gEfiAcpi10TableGuid

[Protocols]
  gEdkiiIoMmuProtocolGuid                     ## PRODUCES
  gEfiPciIoProtocolGuid                       ## CONSUMES
  gEfiPciEnumerationCompleteProtocolGuid      ## CONSUMES
  gEdkiiPlatformVTdPolicyProtocolGuid         ## SOMETIMES_CONSUMES

[Pcd]
  gIntelSiliconPkgTokenSpaceGuid.PcdVTdPolicyPropertyMask   ## CONSUMES
  gIntelSiliconPkgTokenSpaceGuid.PcdErrorCodeVTdError       ## CONSUMES

[Depex]
  gEfiPciRootBridgeIoProtocolGuid

[UserExtensions.TianoCore."ExtraFiles"]
  IntelVTdDxeExtra.uni

