blob: 981c9b7cee0e865081b46a3b8c7c51109929dcb1 [file] [log] [blame]
Sridhar Parasuramc8f50022015-12-05 10:36:04 -08001#/*
Jeevan Shriram9f8489e2018-03-12 16:45:59 -07002# * Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
Sridhar Parasuramc8f50022015-12-05 10:36:04 -08003# *
4# * Redistribution and use in source and binary forms, with or without
5# * modification, are permitted provided that the following conditions are
6# * met:
7# * * Redistributions of source code must retain the above copyright
8# * notice, this list of conditions and the following disclaimer.
9# * * Redistributions in binary form must reproduce the above
10# * copyright notice, this list of conditions and the following
11# * disclaimer in the documentation and/or other materials provided
12# * with the distribution.
13# * * Neither the name of The Linux Foundation nor the names of its
14# * contributors may be used to endorse or promote products derived
15# * from this software without specific prior written permission.
16# *
17# * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18# * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19# * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20# * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21# * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22# * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23# * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24# * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25# * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26# * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27# * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#*/
29
30
31[Defines]
32 INF_VERSION = 0x00010005
33 BASE_NAME = BootLib
34 FILE_GUID = 48e6f825-676b-41a8-a42d-1b6f111b186f
35 MODULE_TYPE = BASE
36 VERSION_STRING = 1.0
37 LIBRARY_CLASS = BootLib
38
Venkata Narendra Kumar Gutta688a1612018-04-18 17:12:50 -070039[BuildOptions]
40 GCC:*_*_*_CC_FLAGS = $(LLVM_ENABLE_SAFESTACK) $(LLVM_SAFESTACK_USE_PTR) $(LLVM_SAFESTACK_COLORING)
41
Sridhar Parasuramc8f50022015-12-05 10:36:04 -080042[BuildOptions.AARCH64]
lijuang65c51d52018-03-28 13:52:57 +080043 GCC:*_*_*_CC_FLAGS = -O2 $(SDLLVM_COMPILE_ANALYZE) $(SDLLVM_ANALYZE_REPORT)
Trilok Sonieb1ca962017-08-15 17:17:14 -070044 GCC:*_*_*_CC_FLAGS = $(UBSAN_UEFI_GCC_FLAG_UNDEFINED)
45 GCC:*_*_*_CC_FLAGS = $(UBSAN_UEFI_GCC_FLAG_ALIGNMENT)
46
Sridhar Parasuramc8f50022015-12-05 10:36:04 -080047[Sources]
48 ShutdownServices.c
49 Board.c
50 BootLinux.c
51 Decompress.c
52 LocateDeviceTree.c
53 UpdateDeviceTree.c
54 LinuxLoaderLib.c
55 UpdateCmdLine.c
Channagoud Kadabi947a3222016-02-02 18:51:38 -080056 KeyPad.c
Channagoud Kadabi0e698d12016-04-20 11:39:06 -070057 Recovery.c
Jeevan Shriram2ac84962016-02-29 18:05:29 -080058 BootStats.c
lijuangc9d156e2016-07-27 18:31:00 +080059 DrawUI.c
lijuang3ab8e702016-07-27 19:13:58 +080060 MenuKeysDetection.c
lijuang3f2878c2016-07-27 19:20:38 +080061 UnlockMenu.c
lijuang463e3cb2016-07-27 19:26:38 +080062 FastbootMenu.c
lijuang593d7352016-07-27 19:31:04 +080063 VerifiedBootMenu.c
Vijay Kumar Pendotic34f2b02016-09-07 20:32:01 +053064 PartitionTableUpdate.c
lijuangd891cbc2016-12-16 20:04:21 +080065 DeviceInfo.c
Mukesh Ojhaa1bd1f82017-05-25 19:04:21 +053066 Rtic.c
Jeevan Shriramb2db8ed2017-02-03 17:41:55 +053067 PartialGoods.c
Sridhar Parasuramc8f50022015-12-05 10:36:04 -080068
69[Packages]
70 ArmPkg/ArmPkg.dec
71 MdePkg/MdePkg.dec
72 EmbeddedPkg/EmbeddedPkg.dec
73 ArmPlatformPkg/ArmPlatformPkg.dec
74 MdeModulePkg/MdeModulePkg.dec
75 QcomModulePkg/QcomModulePkg.dec
76
77[LibraryClasses]
78 DxeServicesTableLib
79 UefiLib
80 CacheMaintenanceLib
81 Zlib
82 ArmLib
83 BaseLib
84 DebugLib
85 DevicePathLib
86 HobLib
87 PerformanceLib
88 DebugPrintErrorLevelLib
89 FdtLib
90 TimerLib
Channagoud Kadabi08e0afd2016-03-31 16:58:09 -070091 MemoryAllocationLib
Jeevan Shriram2eb8ded2016-08-17 14:35:17 -070092 UefiHiiServicesLib
Jeevan Shriram410e7b42017-01-19 16:43:08 -080093 StackCanary
Shivaprasad Hongala2c4dd72017-04-27 14:33:18 -070094 AvbLib
Trilok Sonieb1ca962017-08-15 17:17:14 -070095 UbsanLib
Sridhar Parasuramc8f50022015-12-05 10:36:04 -080096
97[Guids]
98 gEfiFileInfoGuid
99 gEfiSdRemovableGuid
100 gEfiFileSystemInfoGuid
101 gEfiPartitionTypeGuid
102 gEfiEmmcRpmbPartitionGuid
103 gEfiEmmcGppPartition1Guid
104 gEfiEmmcUserPartitionGuid
105 gEfiPlatPartitionTypeGuid
106 gEfiFileInfoGuid
107 gEfiGlobalVariableGuid
108 gEfiLogFSPartitionGuid
Jeevan Shriram749ea922017-08-15 13:50:12 -0700109 gEfiNandUserPartitionGuid
Channagoud Kadabi0e698d12016-04-20 11:39:06 -0700110 gEfiMiscPartitionGuid
Vijay Kumar Pendotia49a5d72016-08-27 03:24:04 +0530111 gEfiUfsLU0Guid
112 gEfiUfsLU1Guid
113 gEfiUfsLU2Guid
114 gEfiUfsLU3Guid
115 gEfiUfsLU4Guid
116 gEfiUfsLU5Guid
117 gEfiUfsLU6Guid
118 gEfiUfsLU7Guid
Sridhar Parasuramc8f50022015-12-05 10:36:04 -0800119
120[Protocols]
121 gEfiSimpleTextInputExProtocolGuid
122 gEfiBlockIoProtocolGuid
123 gEfiLoadedImageProtocolGuid
124 gEfiDevicePathToTextProtocolGuid
125 gEfiDevicePathProtocolGuid
126 gEfiDevicePathFromTextProtocolGuid
127 gEfiSimpleFileSystemProtocolGuid
128 gEfiLoadFileProtocolGuid
129 gEfiDiskIoProtocolGuid
130 gEfiUsbIoProtocolGuid
131 gEfiPlatformInfoProtocolGuid
132 gEfiChipInfoProtocolGuid
133 gQcomPmicVersionProtocolGuid
134 gEfiMemCardInfoProtocolGuid
135 gEfiPrint2ProtocolGuid
136 gEfiPartitionRecordGuid
137 gEfiRamPartitionProtocolGuid
Channagoud Kadabi4338e362016-04-13 14:44:36 -0700138 gEfiResetReasonProtocolGuid
Rama Aparna Mallavarapu755ad9d2016-05-17 15:05:32 -0700139 gQcomPmicPonProtocolGuid
lijuang63e246d2017-04-14 10:58:36 +0800140 gChargerExProtocolGuid
Runmin Wangf58d9882016-07-13 14:09:11 -0700141 gEfiLimitsProtocolGuid
Jeevan Shriram04aad792016-08-17 13:29:41 -0700142 gEfiQcomVerifiedBootProtocolGuid
Vijay Kumar Pendoti876ce712016-09-08 19:56:11 +0530143 gQcomScmModeSwithProtocolGuid
Channagoud Kadabi54751e52016-10-18 15:27:13 -0700144 gQcomRngProtocolGuid
Reut Zysman4a516992016-12-01 13:00:05 +0200145 gQcomMdtpProtocolGuid
Mukesh Ojhaa1bd1f82017-05-25 19:04:21 +0530146 gQcomScmProtocolGuid
Jeevan Shriram9f8489e2018-03-12 16:45:59 -0700147 gEfiNandPartiGuidProtocolGuid
Sridhar Parasuramc8f50022015-12-05 10:36:04 -0800148
149[FixedPcd]
150 gArmTokenSpaceGuid.PcdSystemMemoryBase
151 gArmTokenSpaceGuid.PcdSystemMemorySize
152 gQcomTokenSpaceGuid.KernelLoadAddress
153 gQcomTokenSpaceGuid.TagsAddress
154 gQcomTokenSpaceGuid.RamdiskLoadAddress
Runmin Wang566a8202016-07-21 15:23:38 -0700155 gQcomTokenSpaceGuid.RamdiskEndAddress
Channagoud Kadabi9be68a72016-02-08 15:18:24 -0800156 gQcomTokenSpaceGuid.EnablePartialGoods
lijuang3ab8e702016-07-27 19:13:58 +0800157 gQcomTokenSpaceGuid.EnableDisplayMenu
Vijay Kumar Pendoti876ce712016-09-08 19:56:11 +0530158 gQcomTokenSpaceGuid.KernelLoadAddress32
Reut Zysman4a516992016-12-01 13:00:05 +0200159 gQcomTokenSpaceGuid.EnableMdtpSupport
Sridhar Parasuramc8f50022015-12-05 10:36:04 -0800160
161[Depex]
162 TRUE