1 # This is NT32 FDF file
3 # Copyright (c) 2007, Intel Corporation
5 # All rights reserved. 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
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.
14 ################################################################################
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.
26 ################################################################################
28 BaseAddress = 0x0|gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddress #The base address of the FLASH Device.
29 Size = 0x002a0000 #The size in bytes of the FLASH Device
34 ################################################################################
36 # Following are lists of FD Region layout which correspond to the locations of different
37 # images within the flash device.
39 # Regions must be defined in ascending order and may not overlap.
41 # A Layout Region start with a eight digit hex offset (leading "0x" required) followed by
42 # the pipe "|" character, followed by the size of the region, also in hex with the leading
43 # "0x" characters. Like:
45 # PcdOffsetCName|PcdSizeCName
46 # RegionType <FV, DATA, or FILE>
48 ################################################################################
50 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoveryBase|gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoverySize
54 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
56 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
57 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58 0x8d, 0x2b, 0xf1, 0xff, 0x96, 0x76, 0x8b, 0x4c,
59 0xa9, 0x85, 0x27, 0x47, 0x07, 0x5b, 0x4f, 0x50,
60 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
61 0x5f, 0x46, 0x56, 0x48, 0xff, 0x8c, 0xff, 0xff,
62 0x48, 0x00, 0x3b, 0x7c, 0x00, 0x00, 0x00, 0x01,
63 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
64 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
65 0x24, 0x56, 0x53, 0x53, 0xb8, 0xbf, 0x00, 0x00,
66 0x5a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
70 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogBase|gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogSize
73 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
75 0x8d, 0x2b, 0xf1, 0xff, 0x96, 0x76, 0x8b, 0x4c,
76 0xa9, 0x85, 0x27, 0x47, 0x07, 0x5b, 0x4f, 0x50,
77 0xd2, 0x5f, 0x05, 0x9e, 0xfe, 0xff, 0xff, 0xff,
78 0xff, 0xff, 0xff, 0xff, 0xe0, 0x1f, 0x00, 0x00
82 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
85 ################################################################################
89 # [FV] section is used to define what components or modules are placed within a flash
90 # device file. This section also defines order the components and modules are positioned
91 # within the image. The [FV] section consists of define statements, set statements and
94 ################################################################################
97 FvAlignment = 16 #FV alignment and FV attributes setting.
103 WRITE_DISABLED_CAP = TRUE
104 WRITE_ENABLED_CAP = TRUE
106 WRITE_LOCK_CAP = TRUE
107 WRITE_LOCK_STATUS = TRUE
108 READ_DISABLED_CAP = TRUE
109 READ_ENABLED_CAP = TRUE
112 READ_LOCK_STATUS = TRUE
114 #INF MdeModulePkg/Core/Dxe/DxeMain.inf
115 FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {
116 SECTION COMPRESS PI_STD {
118 SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi
122 FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D {
123 SECTION COMPRESS PI_STD {
125 SECTION RAW = MdeModulePkg/Logo/Logo.bmp
132 FvAlignment = 16 #FV alignment and FV attributes setting.
138 WRITE_DISABLED_CAP = TRUE
139 WRITE_ENABLED_CAP = TRUE
141 WRITE_LOCK_CAP = TRUE
142 WRITE_LOCK_STATUS = TRUE
143 READ_DISABLED_CAP = TRUE
144 READ_ENABLED_CAP = TRUE
147 READ_LOCK_STATUS = TRUE
149 #INF MdeModulePkg/Core/Dxe/DxeMain.inf
150 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
151 INF Nt32Pkg/MetronomeDxe/MetronomeDxe.inf
152 INF Nt32Pkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
153 INF Nt32Pkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
154 INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
155 INF Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
156 INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
157 INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
158 INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
159 INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
160 INF IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
161 INF Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf
162 INF Nt32Pkg/CpuRuntimeDxe/CpuRuntimeDxe.inf
163 INF Nt32Pkg/PlatformBdsDxe/PlatformBdsDxe.inf
164 INF MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf
165 INF IntelFrameworkModulePkg/Universal/DataHubStdErrDxe/DataHubStdErrDxe.inf
166 INF Nt32Pkg/MiscSubClassPlatformDxe/MiscSubClassPlatformDxe.inf
167 INF Nt32Pkg/TimerDxe/TimerDxe.inf
168 INF IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
169 INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
170 INF MdeModulePkg/Universal/WatchDogTimerDxe/WatchDogTimer.inf
171 INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
172 INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
173 INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
174 INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
175 INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
176 INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
177 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
178 INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
179 INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
180 INF IntelFrameworkModulePkg/Universal/SetupBrowserDxe/SetupBrowser.inf
181 INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
182 INF IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
183 INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf ##This driver follows UEFI specification definition
184 INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf ##This driver follows UEFI specification definition
185 INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
186 INF Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriverDxe.inf
187 INF Nt32Pkg/WinNtBlockIoDxe/WinNtBlockIoDxe.inf
188 INF Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf
189 INF Nt32Pkg/WinNtGopDxe/WinNtGopDxe.inf
190 INF Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystemDxe.inf
191 INF IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
192 INF MdeModulePkg/Application/HelloWorld/HelloWorld.inf
196 FvAlignment = 16 #FV alignment and FV attributes setting.
202 WRITE_DISABLED_CAP = TRUE
203 WRITE_ENABLED_CAP = TRUE
205 WRITE_LOCK_CAP = TRUE
206 WRITE_LOCK_STATUS = TRUE
207 READ_DISABLED_CAP = TRUE
208 READ_ENABLED_CAP = TRUE
211 READ_LOCK_STATUS = TRUE
213 ################################################################################
215 # The INF statements point to EDK component and EDK II module INF files, which will be placed into this FV image.
216 # Parsing tools will scan the INF file to determine the type of component or module.
217 # The component or module type is used to reference the standard rules
218 # defined elsewhere in the FDF file.
220 # The format for INF statements is:
221 # INF $(PathAndInfFileName)
223 ################################################################################
228 # PEI Apriori file example, more PEIM module added later.
231 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
232 INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
235 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
236 INF Nt32Pkg/MetronomeDxe/MetronomeDxe.inf
239 INF MdeModulePkg/Core/Pei/PeiMain.inf
240 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
241 INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
242 INF Nt32Pkg/BootModePei/BootModePei.inf
243 INF Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
244 INF MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
245 INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
246 INF Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
247 INF Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
248 INF Nt32Pkg/WinNtThunkPPIToProtocolPei/WinNtThunkPPIToProtocolPei.inf
249 #FILE PEIM = 86D70125-BAA3-4296-A62F-602BEBBB9081 {
250 # SECTION PEI_DEPEX = $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/IA32/MdeModulePkg/Core/DxeIplPeim/DxeIpl/OUTPUT/DxeIpl.depex
251 # SECTION UI = "DxeIpl"
252 # SECTION PE32 = $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/IA32/MdeModulePkg/Core/DxeIplPeim/DxeIpl/DEBUG/DxeIpl.efi
255 INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
257 FILE FV_IMAGE = bdddaa2d-7f72-4a0d-b35a-bef1b64f6a09 {
258 SECTION PEI_DEPEX = $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/IA32/MdeModulePkg/Core/Pei/PeiMain/OUTPUT/PeiMain.depex
259 SECTION DXE_DEPEX = $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/IA32/MdeModulePkg/Core/Pei/PeiMain/OUTPUT/PeiMain.depex
260 SECTION FV_IMAGE = FvMain
265 INF MdeModulePkg/Core/Dxe/DxeMain.inf
267 #FILE FV_IMAGE = cc00b922-8c49-4ea6-b6e9-17920bae36e0 {
268 # SECTION FV_IMAGE = FvDxe
271 ################################################################################
273 # FILE statements are provided so that a platform integrator can include
274 # complete EFI FFS files, as well as a method for constructing FFS files
275 # using curly "{}" brace scoping. The following three FILEs are
276 # for binary shell, binary fat and logo module.
278 ################################################################################
279 FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 {
280 SECTION COMPRESS PI_STD {
282 SECTION PE32 = EdkShellBinPkg/FullShell/ia32/Shell_Full.efi
287 ################################################################################
289 # Rules are use with the [FV] section's module INF type to define
290 # how an FFS file is created for a given INF file. The following Rule are the default
291 # rules for the different module type. User can add the customized rules to define the
292 # content of the FFS file.
294 ################################################################################
297 ############################################################################
298 # Example of a DXE_DRIVER FFS file with a Checksum encapsulation section #
299 ############################################################################
301 #[Rule.Common.DXE_DRIVER]
302 # FILE DRIVER = $(NAMED_GUID) {
303 # DXE_DEPEX DXE_DEPEX Optional |.depex
307 # UI STRING="$(MODULE_NAME)" Optional
308 # VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
313 ############################################################################
315 [Rule.Common.PEI_CORE]
316 FILE PEI_CORE = $(NAMED_GUID) {
318 UI STRING ="$(MODULE_NAME)" Optional
319 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
323 FILE PEIM = $(NAMED_GUID) {
324 PEI_DEPEX PEI_DEPEX Optional |.depex
326 UI STRING="$(MODULE_NAME)" Optional
327 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
330 [Rule.Common.DXE_CORE]
331 FILE DXE_CORE = $(NAMED_GUID) {
334 UI STRING="$(MODULE_NAME)" Optional
335 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
339 [Rule.Common.UEFI_DRIVER]
340 FILE DRIVER = $(NAMED_GUID) {
341 DXE_DEPEX DXE_DEPEX Optional |.depex
345 UI STRING="$(MODULE_NAME)" Optional
346 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
351 [Rule.Common.DXE_DRIVER]
352 FILE DRIVER = $(NAMED_GUID) {
353 DXE_DEPEX DXE_DEPEX Optional |.depex
357 UI STRING="$(MODULE_NAME)" Optional
358 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
363 [Rule.Common.DXE_RUNTIME_DRIVER]
364 FILE DRIVER = $(NAMED_GUID) {
365 DXE_DEPEX DXE_DEPEX Optional |.depex
369 UI STRING="$(MODULE_NAME)" Optional
370 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
375 [Rule.Common.UEFI_APPLICATION]
376 FILE APPLICATION = $(NAMED_GUID) {
380 UI STRING="$(MODULE_NAME)" Optional
381 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)