## @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