]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/ArmExceptionLib/ArmRelocateExceptionLib.inf
ArmPkg/ArmSvcLib: prevent speculative execution beyond svc
[mirror_edk2.git] / ArmPkg / Library / ArmExceptionLib / ArmRelocateExceptionLib.inf
CommitLineData
2939c778
EC
1## @file\r
2# Instance of CpuExceptionHandlerLib Library for ARM/AArch64 architectures\r
3#\r
4# This library instance is used when exception vectors must be relocated to\r
5# a specific address. The address is specified by PcdCpuVectorBaseAddress.\r
6# Since the alignment requirement for in-place exception handlers causes\r
7# image size to increase, this instance is useful for modules that need to\r
8# minimize space used in their FV (like XIP modules). See ArmExceptionLib.inf\r
9# for the in-place exception handler alternative.\r
10#\r
11# Copyright (c) 2011-2012, ARM Limited. All rights reserved.\r
12# Copyright (c) 2016 HP Development Company, L.P.\r
13#\r
4059386c 14# SPDX-License-Identifier: BSD-2-Clause-Patent\r
2939c778
EC
15#\r
16#\r
17\r
18[Defines]\r
19 INF_VERSION = 0x00010005\r
20 BASE_NAME = ArmRelocateExceptionLib\r
21 FILE_GUID = 62AA447A-1FBA-429E-9E0D-CE0D2D8DCF58\r
22 MODULE_TYPE = BASE\r
23 VERSION_STRING = 1.0\r
24 LIBRARY_CLASS = CpuExceptionHandlerLib\r
25\r
26[Sources.common]\r
27 ArmExceptionLib.c\r
28\r
29[Sources.Arm]\r
30 Arm/ArmException.c\r
31 Arm/ExceptionSupport.asm | RVCT\r
32 Arm/ExceptionSupport.S | GCC\r
33\r
34[Sources.AARCH64]\r
35 AArch64/AArch64Exception.c\r
36 AArch64/ExceptionSupport.S\r
37\r
38[Packages]\r
39 MdePkg/MdePkg.dec\r
40 MdeModulePkg/MdeModulePkg.dec\r
41 ArmPkg/ArmPkg.dec\r
42\r
43[LibraryClasses]\r
44 ArmLib\r
45 DebugLib\r
46 DefaultExceptionHandlerLib\r
47 BaseMemoryLib\r
48 CacheMaintenanceLib\r
49\r
50[Pcd]\r
51 gArmTokenSpaceGuid.PcdDebuggerExceptionSupport\r
52 gArmTokenSpaceGuid.PcdCpuVectorBaseAddress\r
53\r
54[BuildOptions]\r
55 # We must pass a define to specify that we are relocating vectors so the\r
56 # vector alignment is relaxed (space savings); note that this must be done\r
57 # as a define and not a PCD since it affects assembly directives.\r
58 *_*_*_PP_FLAGS = -DARM_RELOCATE_VECTORS\r
59 *_*_*_CC_FLAGS = -DARM_RELOCATE_VECTORS\r