## @file
# CapsuleX64 module handles >4GB capsule blocks.
#
# The X64 entrypoint to process capsule in long mode.
# This module is built as X64.
#
#  Caution: This module requires additional review when modified.
#  This driver will have external input - capsule image.
#  This external input must be validated carefully to avoid security issue like
#  buffer overflow, integer overflow.
#
# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = CapsuleX64
  MODULE_UNI_FILE                = CapsuleX64.uni
  FILE_GUID                      = F7FDE4A6-294C-493c-B50F-9734553BB757
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = X64
#

[Sources]
  X64/X64Entry.c
  X64/PageFaultHandler.nasm
  Common/CapsuleCoalesce.c
  Common/CommonHeader.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  BaseLib
  DebugLib
  CpuExceptionHandlerLib
  DebugAgentLib
  # CapsuleX64 implements its own _ModuleEntryPoint() and does not link against the standard PEIM entrypoint. As a
  # result, it must include StackCheckLib to resolve the compiler inserted references to stack cookie functionality
  StackCheckLib

[Depex]
  FALSE

[UserExtensions.TianoCore."ExtraFiles"]
  CapsuleX64Extra.uni
