1 # This is NT32 FDF file with UEFI HII features enabled
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
84 ################################################################################
88 # [FV] section is used to define what components or modules are placed within a flash
89 # device file. This section also defines order the components and modules are positioned
90 # within the image. The [FV] section consists of define statements, set statements and
93 ################################################################################
95 FvAlignment = 16 #FV alignment and FV attributes setting.
101 WRITE_DISABLED_CAP = TRUE
102 WRITE_ENABLED_CAP = TRUE
104 WRITE_LOCK_CAP = TRUE
105 WRITE_LOCK_STATUS = TRUE
106 READ_DISABLED_CAP = TRUE
107 READ_ENABLED_CAP = TRUE
110 READ_LOCK_STATUS = TRUE
112 ################################################################################
114 # The INF statements point to EDK component and EDK II module INF files, which will be placed into this FV image.
115 # Parsing tools will scan the INF file to determine the type of component or module.
116 # The component or module type is used to reference the standard rules
117 # defined elsewhere in the FDF file.
119 # The format for INF statements is:
120 # INF $(PathAndInfFileName)
122 ################################################################################
127 # PEI Apriori file example, more PEIM module added later.
130 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
131 INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
134 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
135 INF Nt32Pkg/MetronomeDxe/MetronomeDxe.inf
138 INF MdeModulePkg/Core/Pei/PeiMain.inf
139 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
140 INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
141 INF Nt32Pkg/BootModePei/BootModePei.inf
142 INF Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
143 INF MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
144 INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
145 INF Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
146 INF Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
147 INF Nt32Pkg/WinNtThunkPPIToProtocolPei/WinNtThunkPPIToProtocolPei.inf
148 INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
153 INF MdeModulePkg/Core/Dxe/DxeMain.inf
154 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
155 INF Nt32Pkg/MetronomeDxe/MetronomeDxe.inf
156 INF Nt32Pkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
157 INF Nt32Pkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
158 INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
159 INF Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
160 INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
161 INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
162 INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
163 INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
164 INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
165 INF Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf
166 INF Nt32Pkg/CpuRuntimeDxe/CpuRuntimeDxe.inf
167 INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
168 INF MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf
169 INF IntelFrameworkModulePkg/Universal/DataHubStdErrDxe/DataHubStdErrDxe.inf
170 INF Nt32Pkg/MiscSubClassPlatformDxe/MiscSubClassPlatformDxe.inf
171 INF Nt32Pkg/TimerDxe/TimerDxe.inf
172 INF IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
173 INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
174 INF MdeModulePkg/Universal/WatchDogTimerDxe/WatchDogTimer.inf
175 INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
176 INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
177 INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
178 INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
179 INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
180 INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
181 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
182 INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
183 INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
184 INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
185 INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
186 INF IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
187 INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf ##This driver follows UEFI specification definition
188 INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf ##This driver follows UEFI specification definition
189 INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
190 INF Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriverDxe.inf
191 INF Nt32Pkg/WinNtBlockIoDxe/WinNtBlockIoDxe.inf
192 INF Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf
193 INF Nt32Pkg/WinNtGopDxe/WinNtGopDxe.inf
194 INF Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystemDxe.inf
195 INF MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
196 INF MdeModulePkg/Application/HelloWorld/HelloWorld.inf
198 INF RichfordPlatformPkg/SetupDxe/SetupDxe.inf
200 ################################################################################
202 # FILE statements are provided so that a platform integrator can include
203 # complete EFI FFS files, as well as a method for constructing FFS files
204 # using curly "{}" brace scoping. The following three FILEs are
205 # for binary shell, binary fat and logo module.
207 ################################################################################
208 FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 {
209 SECTION COMPRESS PI_STD {
211 SECTION PE32 = EdkShellBinPkg/FullShell/ia32/Shell_Full.efi
215 FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {
216 SECTION COMPRESS PI_STD {
218 SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi
222 FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D {
223 SECTION COMPRESS PI_STD {
225 SECTION RAW = MdeModulePkg/Logo/Logo.bmp
231 ################################################################################
233 # Rules are use with the [FV] section's module INF type to define
234 # how an FFS file is created for a given INF file. The following Rule are the default
235 # rules for the different module type. User can add the customized rules to define the
236 # content of the FFS file.
238 ################################################################################
241 ############################################################################
242 # Example of a DXE_DRIVER FFS file with a Checksum encapsulation section #
243 ############################################################################
245 #[Rule.Common.DXE_DRIVER]
246 # FILE DRIVER = $(NAMED_GUID) {
247 # DXE_DEPEX DXE_DEPEX Optional |.depex
251 # UI STRING="$(MODULE_NAME)" Optional
252 # VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
257 ############################################################################
259 [Rule.Common.PEI_CORE]
260 FILE PEI_CORE = $(NAMED_GUID) {
262 UI STRING ="$(MODULE_NAME)" Optional
263 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
267 FILE PEIM = $(NAMED_GUID) {
268 PEI_DEPEX PEI_DEPEX Optional |.depex
270 UI STRING="$(MODULE_NAME)" Optional
271 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
274 [Rule.Common.PEIM.TIANOCOMPRESSED]
275 FILE PEIM = $(NAMED_GUID) DEBUG_MYTOOLS_IA32 {
276 PEI_DEPEX PEI_DEPEX Optional |.depex
277 GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {
279 UI STRING="$(MODULE_NAME)" Optional
280 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
284 [Rule.Common.DXE_CORE]
285 FILE DXE_CORE = $(NAMED_GUID) {
288 UI STRING="$(MODULE_NAME)" Optional
289 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
293 [Rule.Common.UEFI_DRIVER]
294 FILE DRIVER = $(NAMED_GUID) {
295 DXE_DEPEX DXE_DEPEX Optional |.depex
299 UI STRING="$(MODULE_NAME)" Optional
300 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
305 [Rule.Common.DXE_DRIVER]
306 FILE DRIVER = $(NAMED_GUID) {
307 DXE_DEPEX DXE_DEPEX Optional |.depex
311 UI STRING="$(MODULE_NAME)" Optional
312 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
317 [Rule.Common.DXE_RUNTIME_DRIVER]
318 FILE DRIVER = $(NAMED_GUID) {
319 DXE_DEPEX DXE_DEPEX Optional |.depex
323 UI STRING="$(MODULE_NAME)" Optional
324 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
329 [Rule.Common.UEFI_APPLICATION]
330 FILE APPLICATION = $(NAMED_GUID) {
334 UI STRING="$(MODULE_NAME)" Optional
335 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)