Update PCD help text.
[mirror_edk2.git] / UnixPkg / UnixPkg.fdf
CommitLineData
804405e7 1# This is Unix FDF file with UEFI HII features enabled\r
2#\r
3# Copyright (c) 2008, Intel Corporation\r
4#\r
5# All rights reserved. This program and the accompanying materials\r
6# are licensed and made available under the terms and conditions of the BSD License\r
7# which accompanies this distribution. The full text of the license may be found at\r
8# http://opensource.org/licenses/bsd-license.php\r
9#\r
10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12#\r
13\r
14################################################################################\r
15#\r
16# FD Section\r
17# The [FD] Section is made up of the definition statements and a\r
18# description of what goes into the Flash Device Image. Each FD section\r
19# defines one flash "device" image. A flash device image may be one of\r
20# the following: Removable media bootable image (like a boot floppy\r
21# image,) an Option ROM image (that would be "flashed" into an add-in\r
22# card,) a System "Flash" image (that would be burned into a system's\r
23# flash) or an Update ("Capsule") image that will be used to update and\r
24# existing system flash.\r
25#\r
26################################################################################\r
27[FD.Fv_Recovery]\r
28BaseAddress = 0x0|gEfiUnixPkgTokenSpaceGuid.PcdUnixFdBaseAddress #The base address of the FLASH Device.\r
29Size = 0x002a0000 #The size in bytes of the FLASH Device\r
30ErasePolarity = 1\r
31BlockSize = 0x10000\r
32NumBlocks = 0x2a\r
33\r
34################################################################################\r
35#\r
36# Following are lists of FD Region layout which correspond to the locations of different\r
37# images within the flash device.\r
38#\r
39# Regions must be defined in ascending order and may not overlap.\r
40#\r
41# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by\r
42# the pipe "|" character, followed by the size of the region, also in hex with the leading\r
43# "0x" characters. Like:\r
44# Offset|Size\r
45# PcdOffsetCName|PcdSizeCName\r
46# RegionType <FV, DATA, or FILE>\r
47#\r
48################################################################################\r
490x00000000|0x00280000\r
50gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashFvRecoveryBase|gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashFvRecoverySize\r
51FV = FvRecovery\r
52\r
530x00280000|0x0000c000\r
54gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
55#NV_VARIABLE_STORE\r
56DATA = {\r
57 ## This is the EFI_FIRMWARE_VOLUME_HEADER\r
58 # ZeroVector []\r
59 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
60 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
61 # FileSystemGuid: gEfiSystemNvDataFvGuid =\r
62 # { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}\r
63 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C,\r
64 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50,\r
65 # FvLength: 0x20000\r
66 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\r
67 # Signature "_FVH" #Attributes\r
68 0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00,\r
69 # HeaderLength #CheckSum #ExtHeaderOffset #Reserved #Revision\r
70 0x48, 0x00, 0x36, 0x09, 0x00, 0x00, 0x00, 0x02,\r
71 # Blockmap[0]: 2 Blocks * 0x10000 Bytes / Block\r
72 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,\r
73 # Blockmap[1]: End\r
74 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
75 ## This is the VARIABLE_STORE_HEADER\r
76 #Signature: "$VSS" #Size: 0xc000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) - 0x48 (HeaderLength) = 0xBFB8\r
77 # This can speed up the Variable Dispatch a bit.\r
78 0x24, 0x56, 0x53, 0x53, 0xB8, 0xBF, 0x00, 0x00,\r
79 #FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32\r
80 0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
81}\r
82\r
830x0028c000|0x00002000\r
84#NV_EVENT_LOG\r
85gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashNvStorageEventLogBase|gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashNvStorageEventLogSize\r
86\r
870x0028e000|0x00002000\r
88gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize\r
89#NV_FTW_WORKING\r
90DATA = {\r
91 # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEfiSystemNvDataFvGuid =\r
92 # { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}\r
93 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C,\r
94 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50,\r
95 # Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved\r
96 0x85, 0xae, 0x2d, 0xbf, 0xFE, 0xFF, 0xFF, 0xFF,\r
97 # WriteQueueSize: UINT32\r
98 0xE4, 0x1F, 0x00, 0x00\r
99}\r
100\r
1010x00290000|0x00010000\r
102#NV_FTW_SPARE\r
103gEfiUnixPkgTokenSpaceGuid.PcdUnixFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize\r
104\r
105################################################################################\r
106#\r
107# FV Section\r
108#\r
109# [FV] section is used to define what components or modules are placed within a flash\r
110# device file. This section also defines order the components and modules are positioned\r
111# within the image. The [FV] section consists of define statements, set statements and\r
112# module statements.\r
113#\r
114################################################################################\r
115[FV.FvRecovery]\r
116FvAlignment = 16 #FV alignment and FV attributes setting.\r
117ERASE_POLARITY = 1\r
118MEMORY_MAPPED = TRUE\r
119STICKY_WRITE = TRUE\r
120LOCK_CAP = TRUE\r
121LOCK_STATUS = TRUE\r
122WRITE_DISABLED_CAP = TRUE\r
123WRITE_ENABLED_CAP = TRUE\r
124WRITE_STATUS = TRUE\r
125WRITE_LOCK_CAP = TRUE\r
126WRITE_LOCK_STATUS = TRUE\r
127READ_DISABLED_CAP = TRUE\r
128READ_ENABLED_CAP = TRUE\r
129READ_STATUS = TRUE\r
130READ_LOCK_CAP = TRUE\r
131READ_LOCK_STATUS = TRUE\r
132\r
133################################################################################\r
134#\r
135# The INF statements point to EDK component and EDK II module INF files, which will be placed into this FV image.\r
136# Parsing tools will scan the INF file to determine the type of component or module.\r
137# The component or module type is used to reference the standard rules\r
138# defined elsewhere in the FDF file.\r
139#\r
140# The format for INF statements is:\r
141# INF $(PathAndInfFileName)\r
142#\r
143################################################################################\r
144##\r
145# PEI Phase modules\r
146##\r
147##\r
148# PEI Apriori file example, more PEIM module added later.\r
149##\r
150APRIORI PEI {\r
151 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
152 INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf\r
153 }\r
154APRIORI DXE {\r
804405e7 155 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
dfb8993c 156 INF IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf\r
804405e7 157 INF UnixPkg/MetronomeDxe/Metronome.inf\r
158 }\r
159INF MdeModulePkg/Core/Pei/PeiMain.inf\r
160INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
161INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf\r
162INF UnixPkg/BootModePei/BootModePei.inf\r
163INF UnixPkg/UnixFlashMapPei/FlashMap.inf\r
804405e7 164INF UnixPkg/UnixAutoScanPei/UnixAutoScan.inf\r
165INF UnixPkg/UnixFirmwareVolumePei/UnixFwh.inf\r
166INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
167INF UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.inf\r
168INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
169\r
170##\r
171# DXE Phase modules\r
172##\r
173INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
174INF IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf\r
175INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
176INF UnixPkg/MetronomeDxe/Metronome.inf\r
177INF UnixPkg/RealTimeClockRuntimeDxe/RealTimeClock.inf\r
178INF UnixPkg/ResetRuntimeDxe/Reset.inf\r
179INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
180INF UnixPkg/FvbServicesRuntimeDxe/UnixFwh.inf\r
181INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
182INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf\r
183INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
184INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
185INF UnixPkg/UnixThunkDxe/UnixThunk.inf\r
186INF UnixPkg/CpuRuntimeDxe/Cpu.inf\r
187INF MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf\r
188INF IntelFrameworkModulePkg/Universal/DataHubStdErrDxe/DataHubStdErrDxe.inf\r
189INF UnixPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf\r
190INF UnixPkg/TimerDxe/Timer.inf\r
191INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
192INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
193INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
194INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
195INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
196INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
197INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
198INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
199INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
200INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
201INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
202INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
203INF IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
204INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
205INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
206INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
207INF UnixPkg/UnixBusDriverDxe/UnixBusDriver.inf\r
208 \r
209INF UnixPkg/UnixBlockIoDxe/UnixBlockIo.inf\r
210INF UnixPkg/UnixSerialIoDxe/UnixSerialIo.inf\r
211INF UnixPkg/UnixUgaDxe/UnixUga.inf\r
288a3c98 212#INF UnixPkg/UnixConsoleDxe/UnixConsole.inf\r
804405e7 213INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
c71b6597 214INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
215INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
5d1a5b35 216INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf \r
804405e7 217INF UnixPkg/UnixSimpleFileSystemDxe/UnixSimpleFileSystem.inf\r
218INF MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf\r
219INF MdeModulePkg/Application/HelloWorld/HelloWorld.inf\r
220\r
221#\r
222# Network stack drivers\r
223# To test network drivers, need network Io driver(SnpNt32Io.dll), please refer to NETWORK-IO Subproject.\r
224#\r
225#INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
226#INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
227#INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
228#INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
229#INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
230#INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
231#INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
232#INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
233#INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
234#INF UnixPkg/SnpUnixDxe/SnpUnixDxe.inf\r
235\r
236\r
237 \r
238################################################################################\r
239# \r
240# FILE statements are provided so that a platform integrator can include\r
241# complete EFI FFS files, as well as a method for constructing FFS files\r
242# using curly "{}" brace scoping. The following three FILEs are\r
243# for binary shell, binary fat and logo module.\r
244# \r
245################################################################################\r
246FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 {\r
247 SECTION COMPRESS PI_STD {\r
248 SECTION GUIDED {\r
15369259 249 SECTION PE32 = EdkShellBinPkg/FullShell/Ia32/Shell_Full.efi\r
804405e7 250 }\r
251 }\r
252 }\r
253FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {\r
254 SECTION COMPRESS PI_STD {\r
255 SECTION GUIDED {\r
256 SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi\r
257 }\r
258 }\r
259 }\r
260FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D {\r
261 SECTION COMPRESS PI_STD {\r
262 SECTION GUIDED {\r
263 SECTION RAW = MdeModulePkg/Logo/Logo.bmp\r
264 }\r
265 }\r
266 }\r
267 \r
268 \r
269################################################################################\r
270# \r
271# Rules are use with the [FV] section's module INF type to define\r
272# how an FFS file is created for a given INF file. The following Rule are the default\r
273# rules for the different module type. User can add the customized rules to define the\r
274# content of the FFS file.\r
275# \r
276################################################################################\r
277 \r
278 \r
279############################################################################\r
280# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section # \r
281############################################################################\r
282# \r
283#[Rule.Common.DXE_DRIVER]\r
284# FILE DRIVER = $(NAMED_GUID) {\r
285# DXE_DEPEX DXE_DEPEX Optional |.depex\r
286# COMPRESS PI_STD {\r
287# GUIDED {\r
288# PE32 PE32 |.efi\r
289# UI STRING="$(MODULE_NAME)" Optional\r
290# VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
291# }\r
292# }\r
293# }\r
294#\r
295############################################################################\r
296\r
297[Rule.Common.PEI_CORE]\r
298 FILE PEI_CORE = $(NAMED_GUID) {\r
299 PE32 PE32 |.efi\r
300 UI STRING ="$(MODULE_NAME)" Optional \r
301 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) \r
302 }\r
303\r
304[Rule.Common.PEIM]\r
305 FILE PEIM = $(NAMED_GUID) {\r
306 PEI_DEPEX PEI_DEPEX Optional |.depex\r
307 PE32 PE32 |.efi\r
308 UI STRING="$(MODULE_NAME)" Optional \r
309 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) \r
310 }\r
311\r
312[Rule.Common.PEIM.TIANOCOMPRESSED]\r
a6be5d45 313 FILE PEIM = $(NAMED_GUID) {\r
804405e7 314 PEI_DEPEX PEI_DEPEX Optional |.depex\r
315 GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {\r
316 PE32 PE32 |.efi\r
317 UI STRING="$(MODULE_NAME)" Optional\r
318 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
319 }\r
320 }\r
321\r
322[Rule.Common.DXE_CORE]\r
323 FILE DXE_CORE = $(NAMED_GUID) {\r
324 COMPRESS PI_STD {\r
325 PE32 PE32 |.efi\r
326 UI STRING="$(MODULE_NAME)" Optional\r
327 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
328 }\r
329 }\r
330\r
331[Rule.Common.UEFI_DRIVER]\r
332 FILE DRIVER = $(NAMED_GUID) {\r
333 DXE_DEPEX DXE_DEPEX Optional |.depex\r
334 COMPRESS PI_STD {\r
335 GUIDED {\r
336 PE32 PE32 |.efi\r
337 UI STRING="$(MODULE_NAME)" Optional\r
338 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
339 }\r
340 }\r
341 }\r
342\r
343[Rule.Common.DXE_DRIVER]\r
344 FILE DRIVER = $(NAMED_GUID) {\r
345 DXE_DEPEX DXE_DEPEX Optional |.depex\r
346 COMPRESS PI_STD {\r
347 GUIDED {\r
348 PE32 PE32 |.efi\r
349 UI STRING="$(MODULE_NAME)" Optional\r
350 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
351 }\r
352 }\r
353 }\r
354\r
355[Rule.Common.DXE_RUNTIME_DRIVER]\r
356 FILE DRIVER = $(NAMED_GUID) {\r
357 DXE_DEPEX DXE_DEPEX Optional |.depex\r
358 COMPRESS PI_STD {\r
359 GUIDED {\r
360 PE32 PE32 |.efi\r
361 UI STRING="$(MODULE_NAME)" Optional\r
362 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
363 }\r
364 }\r
365 }\r
366\r
367[Rule.Common.UEFI_APPLICATION]\r
368 FILE APPLICATION = $(NAMED_GUID) {\r
369 COMPRESS PI_STD {\r
370 GUIDED {\r
371 PE32 PE32 |.efi\r
372 UI STRING="$(MODULE_NAME)" Optional\r
373 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
374 }\r
375 }\r
376 }\r