1## @file 2# Instance of CpuExceptionHandlerLib Library for ARM/AArch64 architectures 3# 4# This library instance is used when exception vectors must be relocated to 5# a specific address. The address is specified by PcdCpuVectorBaseAddress. 6# Since the alignment requirement for in-place exception handlers causes 7# image size to increase, this instance is useful for modules that need to 8# minimize space used in their FV (like XIP modules). See ArmExceptionLib.inf 9# for the in-place exception handler alternative. 10# 11# Copyright (c) 2011-2012, ARM Limited. All rights reserved. 12# Copyright (c) 2016 HP Development Company, L.P. 13# 14# This program and the accompanying materials 15# are licensed and made available under the terms and conditions of the BSD License 16# which accompanies this distribution. The full text of the license may be found at 17# http://opensource.org/licenses/bsd-license.php 18# 19# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 20# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 21# 22# 23 24[Defines] 25 INF_VERSION = 0x00010005 26 BASE_NAME = ArmRelocateExceptionLib 27 FILE_GUID = 62AA447A-1FBA-429E-9E0D-CE0D2D8DCF58 28 MODULE_TYPE = BASE 29 VERSION_STRING = 1.0 30 LIBRARY_CLASS = CpuExceptionHandlerLib 31 32[Sources.common] 33 ArmExceptionLib.c 34 35[Sources.Arm] 36 Arm/ArmException.c 37 Arm/ExceptionSupport.asm | RVCT 38 Arm/ExceptionSupport.S | GCC 39 40[Sources.AARCH64] 41 AArch64/AArch64Exception.c 42 AArch64/ExceptionSupport.S 43 44[Packages] 45 MdePkg/MdePkg.dec 46 MdeModulePkg/MdeModulePkg.dec 47 ArmPkg/ArmPkg.dec 48 49[LibraryClasses] 50 ArmLib 51 DebugLib 52 DefaultExceptionHandlerLib 53 BaseMemoryLib 54 CacheMaintenanceLib 55 56[Pcd] 57 gArmTokenSpaceGuid.PcdDebuggerExceptionSupport 58 gArmTokenSpaceGuid.PcdCpuVectorBaseAddress 59 60[BuildOptions] 61 # We must pass a define to specify that we are relocating vectors so the 62 # vector alignment is relaxed (space savings); note that this must be done 63 # as a define and not a PCD since it affects assembly directives. 64 *_*_*_PP_FLAGS = -DARM_RELOCATE_VECTORS 65 *_*_*_CC_FLAGS = -DARM_RELOCATE_VECTORS 66