#/** @file
# Component description file for FlashMap PEI module
#
# This module installs FlashMap PPI which is used to get flash layout information.
# Copyright (c) 2006, Intel Corporation
#
#  All rights reserved. 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                      = PeiFlashMap
  FILE_GUID                      = f417814a-8985-11db-8983-0040d02b1835
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  EDK_RELEASE_VERSION            = 0x00020000
  EFI_SPECIFICATION_VERSION      = 0x00020000

  ENTRY_POINT                    = PeimInitializeFlashMap

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources.common]
  FlashMap.c

[Packages]
  MdeModulePkg/MdeModulePkg.dec
  MdePkg/MdePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  UnixPkg/UnixPkg.dec

[LibraryClasses]
  PcdLib
  BaseMemoryLib
  PeiServicesTablePointerLib
  PeiServicesLib
  HobLib
  PeimEntryPoint
  DebugLib


[Guids]
  gEfiSystemNvDataHobGuid                       # ALWAYS_CONSUMED
  gEfiFirmwareFileSystemGuid                    # ALWAYS_CONSUMED
  gEfiFlashMapHobGuid                           # ALWAYS_CONSUMED


[Protocols]
  gEfiFirmwareVolumeBlockProtocolGuid           # PROTOCOL ALWAYS_CONSUMED


[Ppis]
  gUnixFwhPpiGuid                               # PPI ALWAYS_CONSUMED
  gPeiFlashMapPpiGuid                           # PPI ALWAYS_PRODUCED


[Pcd.common]
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase

  gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashNvStorageFtwWorkingBase
  gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashNvStorageFtwSpareBase
  gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashNvStorageVariableBase

[Depex]
  gPcdPpiGuid

