## @file
# Microcode FMP update driver.
#
# Produce FMP instance to update Microcode.
#
#  Copyright (c) 2016 - 2018, 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                      = MicrocodeUpdateDxe
  MODULE_UNI_FILE                = MicrocodeUpdateDxe.uni
  FILE_GUID                      = 0565365C-2FE1-4F88-B3BE-624C04623A20
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = MicrocodeFmpMain

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = X64
#

[Sources]
  MicrocodeUpdate.h
  MicrocodeFmp.c
  MicrocodeUpdate.c

[Packages]
  MdePkg/MdePkg.dec
  IntelSiliconPkg/IntelSiliconPkg.dec
  UefiCpuPkg/UefiCpuPkg.dec

[LibraryClasses]
  BaseLib
  UefiLib
  BaseMemoryLib
  DebugLib
  PcdLib
  MemoryAllocationLib
  UefiBootServicesTableLib
  HobLib
  UefiRuntimeServicesTableLib
  UefiDriverEntryPoint
  MicrocodeFlashAccessLib

[Guids]
  gMicrocodeFmpImageTypeIdGuid                  ## CONSUMES   ## GUID

[Protocols]
  gEfiFirmwareManagementProtocolGuid            ## PRODUCES
  gEfiMpServiceProtocolGuid                     ## CONSUMES

[Pcd]
  gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress            ## CONSUMES
  gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize         ## CONSUMES

[Depex]
  gEfiVariableArchProtocolGuid AND
  gEfiVariableWriteArchProtocolGuid AND
  gEfiMpServiceProtocolGuid

[UserExtensions.TianoCore."ExtraFiles"]
  MicrocodeUpdateDxeExtra.uni

