]> git.proxmox.com Git - mirror_edk2.git/blob - ArmRealViewEbPkg/ArmRealViewEbPkg.fdf
Patch from open source community for CryptoPkg to allow it to build for ARM using...
[mirror_edk2.git] / ArmRealViewEbPkg / ArmRealViewEbPkg.fdf
1 # FLASH layout file for ARM RealView EB.
2 #
3 # Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>
4 #
5 # This program and the accompanying materials
6 # are licensed and made available under the terms and conditions of the BSD License
7 # which accompanies this distribution. The full text of the license may be found at
8 # http://opensource.org/licenses/bsd-license.php
9 #
10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 #
13
14 ################################################################################
15 #
16 # FD Section
17 # The [FD] Section is made up of the definition statements and a
18 # description of what goes into the Flash Device Image. Each FD section
19 # defines one flash "device" image. A flash device image may be one of
20 # the following: Removable media bootable image (like a boot floppy
21 # image,) an Option ROM image (that would be "flashed" into an add-in
22 # card,) a System "Flash" image (that would be burned into a system's
23 # flash) or an Update ("Capsule") image that will be used to update and
24 # existing system flash.
25 #
26 ################################################################################
27
28
29 [FD.ArmRealViewEb_EFI]
30 BaseAddress = 0x40000000|gEmbeddedTokenSpaceGuid.PcdEmbeddedFdBaseAddress #The base address of the FLASH Device.
31 Size = 0x00200000|gEmbeddedTokenSpaceGuid.PcdEmbeddedFdSize #The size in bytes of the FLASH Device
32 ErasePolarity = 1
33 BlockSize = 0x00010000
34 NumBlocks = 0x20
35
36 ################################################################################
37 #
38 # Following are lists of FD Region layout which correspond to the locations of different
39 # images within the flash device.
40 #
41 # Regions must be defined in ascending order and may not overlap.
42 #
43 # A Layout Region start with a eight digit hex offset (leading "0x" required) followed by
44 # the pipe "|" character, followed by the size of the region, also in hex with the leading
45 # "0x" characters. Like:
46 # Offset|Size
47 # PcdOffsetCName|PcdSizeCName
48 # RegionType <FV, DATA, or FILE>
49 #
50 ################################################################################
51
52 0x00000000|0x001F0000
53 gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize
54 FV = FVMAIN_COMPACT
55
56 0x001F0000|0x00010000
57 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
58 #NV_VARIABLE_STORE
59 DATA = {
60 ## This is the EFI_FIRMWARE_VOLUME_HEADER
61 # ZeroVector []
62 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
64 # FileSystemGuid: gEfiSystemNvDataFvGuid =
65 # { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}
66 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C,
67 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50,
68 # FvLength: 0x20000
69 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
70 #Signature "_FVH" #Attributes
71 0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00,
72 #HeaderLength #CheckSum #ExtHeaderOffset #Reserved #Revision
73 0x48, 0x00, 0x36, 0x09, 0x00, 0x00, 0x00, 0x02,
74 #Blockmap[0]: 2 Blocks * 0x10000 Bytes / Block
75 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
76 #Blockmap[1]: End
77 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
78 ## This is the VARIABLE_STORE_HEADER
79 #Signature: gEfiVariableGuid =
80 # { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }}
81 0x16, 0x36, 0xcf, 0xdd, 0x75, 0x32, 0x64, 0x41,
82 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d,
83 #Size: 0xc000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) - 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0xBFB8
84 # This can speed up the Variable Dispatch a bit.
85 0xB8, 0xBF, 0x00, 0x00,
86 #FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32
87 0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
88 }
89
90 ################################################################################
91 #
92 # FV Section
93 #
94 # [FV] section is used to define what components or modules are placed within a flash
95 # device file. This section also defines order the components and modules are positioned
96 # within the image. The [FV] section consists of define statements, set statements and
97 # module statements.
98 #
99 ################################################################################
100
101 [FV.FvMain]
102 BlockSize = 0x40
103 NumBlocks = 0 # This FV gets compressed so make it just big enough
104 FvAlignment = 8 # FV alignment and FV attributes setting.
105 ERASE_POLARITY = 1
106 MEMORY_MAPPED = TRUE
107 STICKY_WRITE = TRUE
108 LOCK_CAP = TRUE
109 LOCK_STATUS = TRUE
110 WRITE_DISABLED_CAP = TRUE
111 WRITE_ENABLED_CAP = TRUE
112 WRITE_STATUS = TRUE
113 WRITE_LOCK_CAP = TRUE
114 WRITE_LOCK_STATUS = TRUE
115 READ_DISABLED_CAP = TRUE
116 READ_ENABLED_CAP = TRUE
117 READ_STATUS = TRUE
118 READ_LOCK_CAP = TRUE
119 READ_LOCK_STATUS = TRUE
120
121 #INF MdeModulePkg/Core/Dxe/DxeMain.inf
122
123 #
124 # PI DXE Drivers producing Architectural Protocols (EFI Services)
125 #
126 INF ArmPkg/Drivers/CpuDxe/CpuDxe.inf
127
128 INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
129 INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
130 INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
131 INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
132 INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
133 INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
134
135 INF EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
136
137 INF EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
138 INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
139 INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
140
141 INF ArmRealViewEbPkg/InterruptDxe/InterruptDxe.inf
142 INF ArmRealViewEbPkg/TimerDxe/TimerDxe.inf
143
144 #
145 # Semi-hosting filesystem
146 #
147 INF ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
148
149 #
150 # FAT filesystem + GPT/MBR partitioning
151 #
152 INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
153 INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
154 INF FatPkg/EnhancedFatDxe/Fat.inf
155 INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
156
157 #
158 # UEFI application (Shell Embedded Boot Loader)
159 #
160 INF EmbeddedPkg/Ebl/Ebl.inf
161
162
163 #
164 # Bds
165 #
166 INF ArmRealViewEbPkg/Bds/Bds.inf
167
168
169 [FV.FVMAIN_COMPACT]
170 FvAlignment = 8
171 ERASE_POLARITY = 1
172 MEMORY_MAPPED = TRUE
173 STICKY_WRITE = TRUE
174 LOCK_CAP = TRUE
175 LOCK_STATUS = TRUE
176 WRITE_DISABLED_CAP = TRUE
177 WRITE_ENABLED_CAP = TRUE
178 WRITE_STATUS = TRUE
179 WRITE_LOCK_CAP = TRUE
180 WRITE_LOCK_STATUS = TRUE
181 READ_DISABLED_CAP = TRUE
182 READ_ENABLED_CAP = TRUE
183 READ_STATUS = TRUE
184 READ_LOCK_CAP = TRUE
185 READ_LOCK_STATUS = TRUE
186
187 INF ArmRealViewEbPkg/SecForPei/Sec.inf
188 INF MdeModulePkg/Core/Pei/PeiMain.inf
189 INF ArmPkg/Drivers/CpuPei/CpuPei.inf
190 INF ArmRealViewEbPkg/PlatformPei/PlatformPei.inf
191 INF ArmRealViewEbPkg/MemoryInitPei/MemoryInitPei.inf
192 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
193 INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
194 INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
195 INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
196
197 # note: this needs to back in fvmaincompressed
198 # need to add decompression of fvmain
199 INF MdeModulePkg/Core/Dxe/DxeMain.inf
200
201 FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
202 SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
203 SECTION FV_IMAGE = FVMAIN
204 }
205 }
206
207
208 ################################################################################
209 #
210 # Rules are use with the [FV] section's module INF type to define
211 # how an FFS file is created for a given INF file. The following Rule are the default
212 # rules for the different module type. User can add the customized rules to define the
213 # content of the FFS file.
214 #
215 ################################################################################
216
217
218 ############################################################################
219 # Example of a DXE_DRIVER FFS file with a Checksum encapsulation section #
220 ############################################################################
221 #
222 #[Rule.Common.DXE_DRIVER]
223 # FILE DRIVER = $(NAMED_GUID) {
224 # DXE_DEPEX DXE_DEPEX Optional |.depex
225 # COMPRESS PI_STD {
226 # GUIDED {
227 # PE32 PE32 |.efi
228 # UI STRING="$(MODULE_NAME)" Optional
229 # VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
230 # }
231 # }
232 # }
233 #
234 ############################################################################
235
236 [Rule.Common.SEC]
237 FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED {
238 TE TE Align = 8 |.efi
239 }
240
241 [Rule.Common.PEI_CORE]
242 FILE PEI_CORE = $(NAMED_GUID) {
243 TE TE |.efi
244 UI STRING ="$(MODULE_NAME)" Optional
245 }
246
247 [Rule.Common.PEIM]
248 FILE PEIM = $(NAMED_GUID) {
249 PEI_DEPEX PEI_DEPEX Optional |.depex
250 TE TE |.efi
251 UI STRING="$(MODULE_NAME)" Optional
252 }
253
254 [Rule.Common.PEIM.TIANOCOMPRESSED]
255 FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {
256 PEI_DEPEX PEI_DEPEX Optional |.depex
257 GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {
258 PE32 PE32 |.efi
259 UI STRING="$(MODULE_NAME)" Optional
260 }
261 }
262
263 [Rule.Common.DXE_CORE]
264 FILE DXE_CORE = $(NAMED_GUID) {
265 PE32 PE32 |.efi
266 UI STRING="$(MODULE_NAME)" Optional
267 }
268
269
270 [Rule.Common.UEFI_DRIVER]
271 FILE DRIVER = $(NAMED_GUID) {
272 DXE_DEPEX DXE_DEPEX Optional |.depex
273 PE32 PE32 |.efi
274 UI STRING="$(MODULE_NAME)" Optional
275 }
276
277 [Rule.Common.DXE_DRIVER]
278 FILE DRIVER = $(NAMED_GUID) {
279 DXE_DEPEX DXE_DEPEX Optional |.depex
280 PE32 PE32 |.efi
281 UI STRING="$(MODULE_NAME)" Optional
282 }
283
284 [Rule.Common.DXE_RUNTIME_DRIVER]
285 FILE DRIVER = $(NAMED_GUID) {
286 DXE_DEPEX DXE_DEPEX Optional |.depex
287 PE32 PE32 |.efi
288 UI STRING="$(MODULE_NAME)" Optional
289 }
290
291
292 [Rule.Common.UEFI_APPLICATION]
293 FILE APPLICATION = $(NAMED_GUID) {
294 UI STRING ="$(MODULE_NAME)" Optional
295 PE32 PE32 |.efi
296 }