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|PcdFdBaseAddress #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 PcdFlashFvRecoveryBase|PcdFlashFvRecoverySize
54 PcdFlashNvStorageBase|PcdFlashNvStorageSize
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 PcdFlashNvStorageEventLogBase|PcdFlashNvStorageEventLogSize
73 PcdFlashNvStorageFtwWorkingBase|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 PcdFlashNvStorageFtwSpareBase|PcdFlashNvStorageFtwSpareBase
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 ################################################################################
126 INF $(WORKSPACE)/MdeModulePkg/Core/Pei/PeiMain.inf
127 INF $(WORKSPACE)/MdeModulePkg/Universal/PCD/Pei/Pcd.inf
128 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
129 INF $(WORKSPACE)/Nt32Pkg/BootModePei/BootModePei.inf
130 INF $(WORKSPACE)/Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
131 INF $(WORKSPACE)/MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
132 INF $(WORKSPACE)/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
133 INF $(WORKSPACE)/Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
134 INF $(WORKSPACE)/Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
135 INF $(WORKSPACE)/Nt32Pkg/WinNtThunkPPIToProtocolPei/WinNtThunkPPIToProtocolPei.inf
136 INF $(WORKSPACE)/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
141 INF $(WORKSPACE)/MdeModulePkg/Core/Dxe/DxeMain.inf
142 INF $(WORKSPACE)/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
143 INF $(WORKSPACE)/Nt32Pkg/MetronomeDxe/MetronomeDxe.inf
144 INF $(WORKSPACE)/Nt32Pkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
145 INF $(WORKSPACE)/Nt32Pkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
146 INF $(WORKSPACE)/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
147 INF $(WORKSPACE)/Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
148 INF $(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
149 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
150 INF $(WORKSPACE)/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
151 INF $(WORKSPACE)/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
152 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
153 INF $(WORKSPACE)/Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf
154 INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/Crc32SectionExtractDxe/Crc32SectionExtractDxe.inf
155 INF $(WORKSPACE)/Nt32Pkg/CpuRuntimeDxe/CpuRuntimeDxe.inf
156 INF $(WORKSPACE)/Nt32Pkg/PlatformBdsDxe/PlatformBdsDxe.inf
157 INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf
158 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHubStdErrDxe/DataHubStdErrDxe.inf
159 INF $(WORKSPACE)/Nt32Pkg/MiscSubClassPlatformDxe/MiscSubClassPlatformDxe.inf
160 INF $(WORKSPACE)/Nt32Pkg/TimerDxe/TimerDxe.inf
161 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
162 INF $(WORKSPACE)/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
163 INF $(WORKSPACE)/MdeModulePkg/Universal/WatchDogTimerDxe/WatchDogTimer.inf
164 INF $(WORKSPACE)/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
165 INF $(WORKSPACE)/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
166 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
167 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
168 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
169 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
170 INF $(WORKSPACE)/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
171 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
172 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
173 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/SetupBrowserDxe/SetupBrowser.inf
174 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
175 INF $(WORKSPACE)/MdeModulePkg/Bus/Pci/AtapiPassThruDxe/AtapiPassThru.inf
176 INF $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
177 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf ##This driver follows UEFI specification definition
178 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf ##This driver follows UEFI specification definition
179 INF $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
180 INF $(WORKSPACE)/Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriverDxe.inf
181 INF $(WORKSPACE)/Nt32Pkg/WinNtBlockIoDxe/WinNtBlockIoDxe.inf
182 INF $(WORKSPACE)/Nt32Pkg/WinNtConsoleDxe/WinNtConsoleDxe.inf
183 INF $(WORKSPACE)/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf
184 INF $(WORKSPACE)/Nt32Pkg/WinNtGopDxe/WinNtGopDxe.inf
185 INF $(WORKSPACE)/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystemDxe.inf
186 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
187 INF $(WORKSPACE)/MdeModulePkg/Application/HelloWorld/HelloWorld.inf
189 ################################################################################
191 # FILE statements are provided so that a platform integrator can include
192 # complete EFI FFS files, as well as a method for constructing FFS files
193 # using curly "{}" brace scoping. The following three FILEs are
194 # for binary shell, binary fat and logo module.
196 ################################################################################
197 FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 CHECKSUM {
198 SECTION COMPRESS PI_STD {
200 SECTION PE32 = EdkShellBinPkg/FullShell/ia32/Shell_Full.efi
204 FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F CHECKSUM {
205 SECTION COMPRESS PI_STD {
207 SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi
211 FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D CHECKSUM {
212 SECTION COMPRESS PI_STD {
214 SECTION RAW = MdeModulePkg/Logo/Logo.bmp
220 ################################################################################
222 # Rules are use with the [FV] section¡¯s module INF type to define
223 # how an FFS file is created for a given INF file. The following Rule are the default
224 # rules for the different module type. User can add the customized rules to define the
225 # content of the FFS file.
227 ################################################################################
228 [Rule.Common.PEI_CORE]
229 FILE PEI_CORE = $(NAMED_GUID) CheckSum {
230 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
231 UI Optional $(MODULE_NAME)
232 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
236 FILE PEIM = $(NAMED_GUID) CheckSum {
237 PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).Depex
238 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
239 UI Optional $(MODULE_NAME)
240 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
243 [Rule.Common.DXE_CORE]
244 FILE DXE_CORE = $(NAMED_GUID) CheckSum {
246 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
247 UI Optional $(MODULE_NAME)
248 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
252 [Rule.Common.UEFI_DRIVER]
253 FILE DRIVER = $(NAMED_GUID) CheckSum {
256 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
257 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
258 UI Optional $(MODULE_NAME)
259 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
264 [Rule.Common.DXE_DRIVER]
265 FILE DRIVER = $(NAMED_GUID) CheckSum {
268 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
269 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
270 UI Optional $(MODULE_NAME)
271 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
276 [Rule.Common.DXE_RUNTIME_DRIVER]
277 FILE DRIVER = $(NAMED_GUID) CheckSum {
280 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
281 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
282 UI Optional $(MODULE_NAME)
283 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
288 [Rule.Common.UEFI_APPLICATION]
289 FILE APPLICATION = $(NAMED_GUID) CheckSum {
292 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
293 UI Optional $(MODULE_NAME)
294 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)