]>
Commit | Line | Data |
---|---|---|
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 | |
2939c778 EC |
31 | Arm/ExceptionSupport.S | GCC\r |
32 | \r | |
33 | [Sources.AARCH64]\r | |
34 | AArch64/AArch64Exception.c\r | |
35 | AArch64/ExceptionSupport.S\r | |
36 | \r | |
37 | [Packages]\r | |
38 | MdePkg/MdePkg.dec\r | |
39 | MdeModulePkg/MdeModulePkg.dec\r | |
40 | ArmPkg/ArmPkg.dec\r | |
41 | \r | |
42 | [LibraryClasses]\r | |
43 | ArmLib\r | |
44 | DebugLib\r | |
45 | DefaultExceptionHandlerLib\r | |
46 | BaseMemoryLib\r | |
47 | CacheMaintenanceLib\r | |
48 | \r | |
49 | [Pcd]\r | |
50 | gArmTokenSpaceGuid.PcdDebuggerExceptionSupport\r | |
51 | gArmTokenSpaceGuid.PcdCpuVectorBaseAddress\r | |
52 | \r | |
53 | [BuildOptions]\r | |
54 | # We must pass a define to specify that we are relocating vectors so the\r | |
55 | # vector alignment is relaxed (space savings); note that this must be done\r | |
56 | # as a define and not a PCD since it affects assembly directives.\r | |
57 | *_*_*_PP_FLAGS = -DARM_RELOCATE_VECTORS\r | |
58 | *_*_*_CC_FLAGS = -DARM_RELOCATE_VECTORS\r |