## @file | |
# Instance of CpuExceptionHandlerLib Library for ARM/AArch64 architectures | |
# | |
# This library instance is used when exception vectors must be relocated to | |
# a specific address. The address is specified by PcdCpuVectorBaseAddress. | |
# Since the alignment requirement for in-place exception handlers causes | |
# image size to increase, this instance is useful for modules that need to | |
# minimize space used in their FV (like XIP modules). See ArmExceptionLib.inf | |
# for the in-place exception handler alternative. | |
# | |
# Copyright (c) 2011-2012, ARM Limited. All rights reserved. | |
# Copyright (c) 2016 HP Development Company, L.P. | |
# | |
# SPDX-License-Identifier: BSD-2-Clause-Patent | |
# | |
# | |
[Defines] | |
INF_VERSION = 0x00010005 | |
BASE_NAME = ArmRelocateExceptionLib | |
FILE_GUID = 62AA447A-1FBA-429E-9E0D-CE0D2D8DCF58 | |
MODULE_TYPE = BASE | |
VERSION_STRING = 1.0 | |
LIBRARY_CLASS = CpuExceptionHandlerLib | |
[Sources.common] | |
ArmExceptionLib.c | |
[Sources.Arm] | |
Arm/ArmException.c | |
Arm/ExceptionSupport.S | GCC | |
[Sources.AARCH64] | |
AArch64/AArch64Exception.c | |
AArch64/ExceptionSupport.S | |
[Packages] | |
MdePkg/MdePkg.dec | |
MdeModulePkg/MdeModulePkg.dec | |
ArmPkg/ArmPkg.dec | |
[LibraryClasses] | |
ArmLib | |
DebugLib | |
DefaultExceptionHandlerLib | |
BaseMemoryLib | |
CacheMaintenanceLib | |
[Pcd] | |
gArmTokenSpaceGuid.PcdDebuggerExceptionSupport | |
gArmTokenSpaceGuid.PcdCpuVectorBaseAddress | |
[BuildOptions] | |
# We must pass a define to specify that we are relocating vectors so the | |
# vector alignment is relaxed (space savings); note that this must be done | |
# as a define and not a PCD since it affects assembly directives. | |
*_*_*_PP_FLAGS = -DARM_RELOCATE_VECTORS | |
*_*_*_CC_FLAGS = -DARM_RELOCATE_VECTORS |