## @file
#  CPU Exception Handler library instance for DXE modules.
#
#  Copyright (c) 2013 - 2016, 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                      = DxeCpuExceptionHandlerLib
  MODULE_UNI_FILE                = DxeCpuExceptionHandlerLib.uni
  FILE_GUID                      = B6E9835A-EDCF-4748-98A8-27D3C722E02D
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.1
  LIBRARY_CLASS                  = CpuExceptionHandlerLib|DXE_CORE DXE_DRIVER UEFI_APPLICATION

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources.Ia32]
  Ia32/ExceptionHandlerAsm.asm
  Ia32/ExceptionHandlerAsm.nasm
  Ia32/ExceptionTssEntryAsm.nasm
  Ia32/ExceptionHandlerAsm.S
  Ia32/ArchExceptionHandler.c
  Ia32/ArchInterruptDefs.h

[Sources.X64]
  X64/ExceptionHandlerAsm.asm
  X64/ExceptionHandlerAsm.nasm
  X64/ExceptionHandlerAsm.S
  X64/ArchExceptionHandler.c
  X64/ArchInterruptDefs.h

[Sources.common]
  CpuExceptionCommon.h
  CpuExceptionCommon.c
  PeiDxeSmmCpuException.c
  DxeException.c

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard
  gUefiCpuPkgTokenSpaceGuid.PcdCpuStackSwitchExceptionList
  gUefiCpuPkgTokenSpaceGuid.PcdCpuKnownGoodStackSize

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  UefiCpuPkg/UefiCpuPkg.dec

[LibraryClasses]
  BaseLib
  SerialPortLib
  PrintLib
  SynchronizationLib
  LocalApicLib
  PeCoffGetEntryPointLib
  MemoryAllocationLib
  DebugLib
