1 # This is NT32 FDF file
3 ################################################################################
6 # The [FD] Section is made up of the definition statements and a
7 # description of what goes into the Flash Device Image. Each FD section
8 # defines one flash ¡°device¡± image. A flash device image may be one of
9 # the following: Removable media bootable image (like a boot floppy
10 # image,) an Option ROM image (that would be ¡°flashed¡± into an add-in
11 # card,) a System ¡°Flash¡± image (that would be burned into a system¡¯s
12 # flash) or an Update (¡°Capsule¡±) image that will be used to update and
13 # existing system flash.
15 ################################################################################
17 BaseAddress = 0x0|PcdFdBaseAddress #The base address of the FLASH Device.
18 Size = 0x002a0000 #The size in bytes of the FLASH Device
23 ################################################################################
25 # Following are lists of FD Region layout which correspond to the locations of different
26 # images within the flash device.
28 # Regions must be defined in ascending order and may not overlap.
30 # A Layout Region start with a eight digit hex offset (leading ¡°0x¡± required) followed by
31 # the pipe ¡°|¡± character, followed by the size of the region, also in hex with the leading
32 # ¡°0x¡± characters. Like:
34 # PcdOffsetCName|PcdSizeCName
35 # RegionType <FV, DATA, or FILE>
37 ################################################################################
39 PcdFlashFvRecoveryBase|PcdFlashFvRecoverySize
43 PcdFlashNvStorageBase|PcdFlashNvStorageSize
45 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
46 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
47 0x8d, 0x2b, 0xf1, 0xff, 0x96, 0x76, 0x8b, 0x4c,
48 0xa9, 0x85, 0x27, 0x47, 0x07, 0x5b, 0x4f, 0x50,
49 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
50 0x5f, 0x46, 0x56, 0x48, 0xff, 0x8c, 0xff, 0xff,
51 0x48, 0x00, 0x3b, 0x7c, 0x00, 0x00, 0x00, 0x01,
52 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
53 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
54 0x24, 0x56, 0x53, 0x53, 0xb8, 0xbf, 0x00, 0x00,
55 0x5a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
59 PcdFlashNvStorageEventLogBase|PcdFlashNvStorageEventLogSize
62 PcdFlashNvStorageFtwWorkingBase|PcdFlashNvStorageFtwWorkingSize
64 0x8d, 0x2b, 0xf1, 0xff, 0x96, 0x76, 0x8b, 0x4c,
65 0xa9, 0x85, 0x27, 0x47, 0x07, 0x5b, 0x4f, 0x50,
66 0xd2, 0x5f, 0x05, 0x9e, 0xfe, 0xff, 0xff, 0xff,
67 0xff, 0xff, 0xff, 0xff, 0xe0, 0x1f, 0x00, 0x00
71 PcdFlashNvStorageFtwSpareBase|PcdFlashNvStorageFtwSpareBase
73 ################################################################################
77 # [FV] section is used to define what components or modules are placed within a flash
78 # device file. This section also defines order the components and modules are positioned
79 # within the image. The [FV] section consists of define statements, set statements and
82 ################################################################################
84 FvAlignment = 16 #FV alignment and FV attributes setting.
90 WRITE_DISABLED_CAP = TRUE
91 WRITE_ENABLED_CAP = TRUE
94 WRITE_LOCK_STATUS = TRUE
95 READ_DISABLED_CAP = TRUE
96 READ_ENABLED_CAP = TRUE
99 READ_LOCK_STATUS = TRUE
101 ################################################################################
103 # The INF statements point to EDK component and EDK II module INF files, which will be placed into this FV image.
104 # Parsing tools will scan the INF file to determine the type of component or module.
105 # The component or module type is used to reference the standard rules
106 # defined elsewhere in the FDF file.
108 # The format for INF statements is:
109 # INF $(PathAndInfFileName)
111 ################################################################################
112 INF $(WORKSPACE)/MdeModulePkg/Core/Pei/PeiMain.inf
113 INF $(WORKSPACE)/MdeModulePkg/Core/Dxe/DxeMain.inf
114 INF $(WORKSPACE)/MdeModulePkg/Universal/RuntimeDxe/Runtime.inf
115 INF $(WORKSPACE)/Nt32Pkg/BootModePei/BootMode.inf
116 INF $(WORKSPACE)/Nt32Pkg/WinNtThunkDxe/WinNtThunk.inf
117 INF $(WORKSPACE)/Nt32Pkg/MiscSubClassPlatformDxe/MiscSubclassDriver.inf
118 INF $(WORKSPACE)/Nt32Pkg/WinNtThunkPPIToProtocolPei/WinNtThunkPPIToProtocol.inf
119 INF $(WORKSPACE)/Nt32Pkg/WinNtAutoScanPei/WinNtAutoScan.inf
120 INF $(WORKSPACE)/Nt32Pkg/WinNtBlockIoDxe/WinNtBlockIo.inf
121 INF $(WORKSPACE)/Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriver.inf
122 INF $(WORKSPACE)/Nt32Pkg/WinNtConsoleDxe/WinNtConsole.inf
123 INF $(WORKSPACE)/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.inf
124 INF $(WORKSPACE)/Nt32Pkg/WinNtGopDxe/WinNtGop.inf
125 INF $(WORKSPACE)/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.inf
126 INF $(WORKSPACE)/Nt32Pkg/TimerDxe/Timer.inf
127 INF $(WORKSPACE)/Nt32Pkg/ResetRuntimeDxe/Reset.inf
128 INF $(WORKSPACE)/Nt32Pkg/RealTimeClockRuntimeDxe/RealTimeClock.inf
129 INF $(WORKSPACE)/Nt32Pkg/MetronomeDxe/Metronome.inf
130 INF $(WORKSPACE)/Nt32Pkg/CpuRuntimeDxe/Cpu.inf
131 INF $(WORKSPACE)/Nt32Pkg/FvbServicesRuntimeDxe/Nt32Fwh.inf
132 INF $(WORKSPACE)/Nt32Pkg/PlatformBdsDxe/PlatformBds.inf
133 INF $(WORKSPACE)/MdeModulePkg/Application/HelloWorld/HelloWorld.inf
134 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.inf
135 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.inf
136 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/UnicodeCollation/English/Dxe/English.inf
137 INF $(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStub.inf
138 INF $(WORKSPACE)/MdeModulePkg/Universal/Capsule/RuntimeDxe/CapsuleRuntime.inf
139 INF $(WORKSPACE)/MdeModulePkg/Universal/Ebc/Dxe/Ebc.inf
140 INF $(WORKSPACE)/MdeModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.inf
141 INF $(WORKSPACE)/MdeModulePkg/Universal/MonotonicCounterDxe/MonotonicCounter.inf
142 INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.inf
143 INF $(WORKSPACE)/MdeModulePkg/Universal/BaseMemoryTestPei/BaseMemoryTest.inf
144 INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.inf
145 INF $(WORKSPACE)/MdeModulePkg/Universal/VariableRuntimeDxe/Variable.inf
146 INF $(WORKSPACE)/MdeModulePkg/Bus/Pci/AtapiPassThruDxe/AtapiPassThru.inf
147 INF $(WORKSPACE)/MdeModulePkg/Universal/WatchDogTimerDxe/WatchDogTimer.inf
148 INF $(WORKSPACE)/MdeModulePkg/Universal/VariablePei/Variable.inf
149 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.inf
150 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.inf
151 INF $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.inf
152 INF $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/IdeBus/Dxe/IdeBus.inf
153 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHub/Dxe/DataHub.inf
154 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHubStdErr/Dxe/DataHubStdErr.inf
155 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
156 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
157 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
158 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/SetupBrowserDxe/SetupBrowser.inf
159 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSample.inf
160 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.inf ##This driver follows UEFI specification definition
161 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.inf ##This driver follows UEFI specification definition
162 INF $(WORKSPACE)/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
163 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsole.inf
164 INF $(WORKSPACE)/Nt32Pkg/WinNtFlashMapPei/FlashMap.inf
165 INF $(WORKSPACE)/Nt32Pkg/WinNtFirmwareVolumePei/WinNtFwh.inf
166 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.inf
168 ################################################################################
170 # FILE statements are provided so that a platform integrator can include
171 # complete EFI FFS files, as well as a method for constructing FFS files
172 # using curly "{}" brace scoping. The following three FILEs are
173 # for binary shell, binary fat and logo module.
175 ################################################################################
176 #FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 CHECKSUM {
177 # SECTION COMPRESS PI_STD {
179 # SECTION PE32 = EdkShellBinPkg/FullShell/ia32/Shell_Full.efi
183 #FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F CHECKSUM {
184 # SECTION COMPRESS PI_STD {
186 # SECTION PE32 = EdkFatBinPkg/Ia32/Fat.efi
190 #FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D CHECKSUM {
191 # SECTION COMPRESS PI_STD {
193 # SECTION RAW = EdkNt32Pkg/Logo/Logo.bmp
199 ################################################################################
201 # Rules are use with the [FV] section¡¯s module INF type to define
202 # how an FFS file is created for a given INF file. The following Rule are the default
203 # rules for the different module type. User can add the customized rules to define the
204 # content of the FFS file.
206 ################################################################################
207 [Rule.Common.PEI_CORE]
208 FILE PEI_CORE = $(NAMED_GUID) CheckSum {
209 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
210 UI Optional $(MODULE_NAME)
211 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
215 FILE PEIM = $(NAMED_GUID) CheckSum {
216 PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).Depex
217 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
218 UI Optional $(MODULE_NAME)
219 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
222 [Rule.Common.DXE_CORE]
223 FILE DXE_CORE = $(NAMED_GUID) CheckSum {
225 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
226 UI Optional $(MODULE_NAME)
227 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
231 [Rule.Common.UEFI_DRIVER]
232 FILE DRIVER = $(NAMED_GUID) CheckSum {
235 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
236 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
237 UI Optional $(MODULE_NAME)
238 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
243 [Rule.Common.DXE_DRIVER]
244 FILE DRIVER = $(NAMED_GUID) CheckSum {
247 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
248 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
249 UI Optional $(MODULE_NAME)
250 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
255 [Rule.Common.DXE_RUNTIME_DRIVER]
256 FILE DRIVER = $(NAMED_GUID) CheckSum {
259 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
260 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
261 UI Optional $(MODULE_NAME)
262 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
267 [Rule.Common.UEFI_APPLICATION]
268 FILE APPLICATION = $(NAMED_GUID) CheckSum {
271 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
272 UI Optional $(MODULE_NAME)
273 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)