#/** @file
#  Pre PeiCore - Hand-off to PEI Core in Normal World
#
#  Copyright (c) 2011, ARM Limited. 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                      = ArmPlatformPrePeiCore
  FILE_GUID                      = 469fc080-aec1-11df-927c-0002a5d5c51b
  MODULE_TYPE                    = SEC
  VERSION_STRING                 = 1.0

[Sources.common]
  PrePeiCore.c
  MainUniCore.c

[Sources.ARM]
  Arm/ArchPrePeiCore.c
  Arm/PrePeiCoreEntryPoint.asm | RVCT
  Arm/PrePeiCoreEntryPoint.S   | GCC
  Arm/SwitchStack.asm      | RVCT
  Arm/SwitchStack.S        | GCC
  Arm/Exception.asm        | RVCT
  Arm/Exception.S          | GCC

[Sources.AARCH64]
  AArch64/ArchPrePeiCore.c
  AArch64/PrePeiCoreEntryPoint.S
  AArch64/SwitchStack.S
  AArch64/Exception.S
  AArch64/Helper.S

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  ArmPkg/ArmPkg.dec
  ArmPlatformPkg/ArmPlatformPkg.dec

[LibraryClasses]
  ArmLib
  ArmPlatformLib
  BaseLib
  DebugLib
  DebugAgentLib
  IoLib
  PrintLib
  SerialPortLib

[Ppis]
  gEfiTemporaryRamSupportPpiGuid

[FeaturePcd]
  gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores

[FixedPcd]
  gArmTokenSpaceGuid.PcdFvBaseAddress
  gArmTokenSpaceGuid.PcdFvSize

  gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase
  gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize

  gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack
