## @file
# Module produce FV on top of FV2.
#
# UEFI PI specification supersedes Inte's Framework Specification.
# EFI_FIRMWARE_VOLUME_PROTOCOL defined in Intel Framework Pkg is replaced by
# EFI_FIRMWARE_VOLUME2_PROTOCOL in MdePkg.
# This module produces FV on top of FV2. This module is used on platform when both of
# these two conditions are true:
# 1) Framework module consuming FV is present
# 2) And the platform only produces FV2
#
# 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                      = FvOnFv2Thunk
  FILE_GUID                      = 5007A40E-A5E0-44f7-86AE-662F9A91DA26
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = InitializeFirmwareVolume2

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  FvOnFv2Thunk.c

[Packages]
  MdePkg/MdePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec

[LibraryClasses]
  UefiDriverEntryPoint
  UefiBootServicesTableLib
  BaseLib
  DebugLib
  UefiLib
  MemoryAllocationLib

[Protocols]
  gEfiFirmwareVolume2ProtocolGuid
  gEfiFirmwareVolumeProtocolGuid

[Depex]
  TRUE
