## @file
# Produces PI MP Services Protocol on top of Framework MP Services Protocol.
#
# Intel's Framework MP Services Protocol is replaced by EFI_MP_SERVICES_PROTOCOL in PI 1.1.
# This module produces PI MP Services Protocol on top of Framework MP Services Protocol.
#
# Copyright (c) 2009 - 2011, 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                      = MpServicesOnFrameworkMpServicesThunk
  FILE_GUID                      = 51739E2A-A022-4D73-ADB9-91F0C9BC7142
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = InitializeMpServicesProtocol

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  MpServicesOnFrameworkMpServicesThunk.c
  MpServicesOnFrameworkMpServicesThunk.h

[Sources.X64]
  X64/MpFuncs.asm
  X64/MpFuncs.S

[Sources.IA32]
  IA32/MpFuncs.asm
  IA32/MpFuncs.S

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  UefiCpuPkg/UefiCpuPkg.dec

[LibraryClasses]
  TimerLib
  IoLib
  UefiBootServicesTableLib
  DxeServicesTableLib
  MemoryAllocationLib
  UefiDriverEntryPoint
  BaseMemoryLib
  UefiLib
  DebugLib
  BaseLib
  SynchronizationLib
  DebugAgentLib
  LocalApicLib

[Protocols]
  gEfiMpServiceProtocolGuid                   ## PRODUCES
  gFrameworkEfiMpServiceProtocolGuid          ## CONSUMES
  gEfiGenericMemTestProtocolGuid              ## SOMETIMES_CONSUMES

[Depex]
  gFrameworkEfiMpServiceProtocolGuid
