1 ## @file 2 # Instance of CpuExceptionHandlerLib Library for ARM/AArch64 architectures 3 # 4 # This library instance is used for modules that will implement exception 5 # handlers in-place (by programming VBAR). The exception handlers will be 6 # generated with alignment as required by the processor architecture. The 7 # alignment must be propagated into the parent FFS/FV through FDF build rules 8 # for the relevant module types (i.e. Align=Auto). 9 # 10 # Note that using this library instance can cause growth to the size of the FV 11 # due to the padding added by the build tools to meet the vector alignment 12 # requirements and may not be desirable for space-sensitive FVs (uncompressed / 13 # XIP components). The alternative library instance, ArmRelocateExceptionLib 14 # should be considered for these applications. 15 # 16 # Copyright (c) 2011-2012, ARM Limited. All rights reserved. 17 # Copyright (c) 2016 HP Development Company, L.P. 18 # 19 # This program and the accompanying materials 20 # are licensed and made available under the terms and conditions of the BSD License 21 # which accompanies this distribution. The full text of the license may be found at 22 # http://opensource.org/licenses/bsd-license.php 23 # 24 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 25 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 26 # 27 # 28 29 [Defines] 30 INF_VERSION = 0x00010005 31 BASE_NAME = ArmExceptionLib 32 FILE_GUID = A9796991-4E88-47F0-87C5-D96A1D270539 33 MODULE_TYPE = BASE 34 VERSION_STRING = 1.0 35 LIBRARY_CLASS = CpuExceptionHandlerLib 36 37 [Sources.common] 38 ArmExceptionLib.c 39 40 [Sources.Arm] 41 Arm/ArmException.c 42 Arm/ExceptionSupport.asm | RVCT 43 Arm/ExceptionSupport.S | GCC 44 45 [Sources.AARCH64] 46 AArch64/AArch64Exception.c 47 AArch64/ExceptionSupport.S 48 49 [Packages] 50 MdePkg/MdePkg.dec 51 MdeModulePkg/MdeModulePkg.dec 52 ArmPkg/ArmPkg.dec 53 54 [LibraryClasses] 55 ArmLib 56 DebugLib 57 DefaultExceptionHandlerLib 58 BaseMemoryLib 59 CacheMaintenanceLib 60 61 [Pcd] 62 gArmTokenSpaceGuid.PcdDebuggerExceptionSupport 63 gArmTokenSpaceGuid.PcdCpuVectorBaseAddress 64