## @file
#  Platform CSM Support Library
#
#  Copyright (c) 2008 - 2019, Intel Corporation. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = CsmSupportLib
  FILE_GUID                      = 04e03541-4663-417d-93f6-976378247d61
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = CsmSupportLib

  CONSTRUCTOR                    = CsmSupportLibConstructor

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  CsmSupportLib.c
  CsmSupportLib.h
  LegacyInterrupt.c
  LegacyInterrupt.h
  LegacyPlatform.c
  LegacyPlatform.h
  LegacyRegion.c
  LegacyRegion.h

[Packages]
  MdePkg/MdePkg.dec
  OvmfPkg/OvmfPkg.dec

[Pcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId

[Protocols]
  gEfiDevicePathProtocolGuid                    # PROTOCOL ALWAYS_CONSUMED
  gEfiDiskInfoProtocolGuid                      # PROTOCOL ALWAYS_CONSUMED
  gEfiLegacyBiosPlatformProtocolGuid            # PROTOCOL ALWAYS_CONSUMED
  gEfiLegacyBiosProtocolGuid                    # PROTOCOL ALWAYS_CONSUMED
  gEfiLegacyInterruptProtocolGuid               # PROTOCOL ALWAYS_PRODUCED
  gEfiLegacyRegion2ProtocolGuid                 # PROTOCOL ALWAYS_PRODUCED
  gEfiPciIoProtocolGuid                         # PROTOCOL ALWAYS_CONSUMED

[LibraryClasses]
  BaseLib
  PciLib
  IoLib

