## @file
# Component description file for WinNtFwh module
#
# This PEIM will produce the HOB to describe Firmware Volume, Firmware Devices
#  on the NT32 emulator.
# Copyright (c) 2006 - 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                      = WinNtFirmwareVolumePei
  FILE_GUID                      = F0384FFD-8633-452f-9010-F6B7D2EAE2F1
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = PeimInitializeWinNtFwh

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  WinntFwh.c

[Packages]
  Nt32Pkg/Nt32Pkg.dec
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  HobLib
  PeimEntryPoint
  DebugLib
  PcdLib  

[Ppis]
  gNtFwhPpiGuid                                 # PPI ALWAYS_CONSUMED

[Pcd]
  gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoveryBase
  gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoverySize
  gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogBase
  gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogSize
  gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageVariableBase
  gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwSpareBase
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize

[Depex]
  gNtFwhPpiGuid AND gEfiPeiMemoryDiscoveredPpiGuid