]>
Commit | Line | Data |
---|---|---|
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 | |
14 | # This program and the accompanying materials\r | |
15 | # are licensed and made available under the terms and conditions of the BSD License\r | |
16 | # which accompanies this distribution. The full text of the license may be found at\r | |
17 | # http://opensource.org/licenses/bsd-license.php\r | |
18 | #\r | |
19 | # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
20 | # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
21 | #\r | |
22 | #\r | |
23 | \r | |
24 | [Defines]\r | |
25 | INF_VERSION = 0x00010005\r | |
26 | BASE_NAME = ArmRelocateExceptionLib\r | |
27 | FILE_GUID = 62AA447A-1FBA-429E-9E0D-CE0D2D8DCF58\r | |
28 | MODULE_TYPE = BASE\r | |
29 | VERSION_STRING = 1.0\r | |
30 | LIBRARY_CLASS = CpuExceptionHandlerLib\r | |
31 | \r | |
32 | [Sources.common]\r | |
33 | ArmExceptionLib.c\r | |
34 | \r | |
35 | [Sources.Arm]\r | |
36 | Arm/ArmException.c\r | |
37 | Arm/ExceptionSupport.asm | RVCT\r | |
38 | Arm/ExceptionSupport.S | GCC\r | |
39 | \r | |
40 | [Sources.AARCH64]\r | |
41 | AArch64/AArch64Exception.c\r | |
42 | AArch64/ExceptionSupport.S\r | |
43 | \r | |
44 | [Packages]\r | |
45 | MdePkg/MdePkg.dec\r | |
46 | MdeModulePkg/MdeModulePkg.dec\r | |
47 | ArmPkg/ArmPkg.dec\r | |
48 | \r | |
49 | [LibraryClasses]\r | |
50 | ArmLib\r | |
51 | DebugLib\r | |
52 | DefaultExceptionHandlerLib\r | |
53 | BaseMemoryLib\r | |
54 | CacheMaintenanceLib\r | |
55 | \r | |
56 | [Pcd]\r | |
57 | gArmTokenSpaceGuid.PcdDebuggerExceptionSupport\r | |
58 | gArmTokenSpaceGuid.PcdCpuVectorBaseAddress\r | |
59 | \r | |
60 | [BuildOptions]\r | |
61 | # We must pass a define to specify that we are relocating vectors so the\r | |
62 | # vector alignment is relaxed (space savings); note that this must be done\r | |
63 | # as a define and not a PCD since it affects assembly directives.\r | |
64 | *_*_*_PP_FLAGS = -DARM_RELOCATE_VECTORS\r | |
65 | *_*_*_CC_FLAGS = -DARM_RELOCATE_VECTORS\r |