79f6411ade5e1b9b3db6b072b58297f44cbc6cc3
[mirror_edk2.git] / Nt32Pkg / Nt32Pkg.fdf
1 # This is NT32 FDF file
2
3 ################################################################################
4 #
5 # FD Section
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.
14 #
15 ################################################################################
16 [FD.Fv_Recovery]
17 BaseAddress = 0x0|PcdFdBaseAddress #The base address of the FLASH Device.
18 Size = 0x002a0000 #The size in bytes of the FLASH Device
19 ErasePolarity = 1
20 BlockSize = 0x10000
21 NumBlocks = 0x2a
22
23 ################################################################################
24 #
25 # Following are lists of FD Region layout which correspond to the locations of different
26 # images within the flash device.
27 #
28 # Regions must be defined in ascending order and may not overlap.
29 #
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:
33 # Offset|Size
34 # PcdOffsetCName|PcdSizeCName
35 # RegionType <FV, DATA, or FILE>
36 #
37 ################################################################################
38 0x00000000|0x00280000
39 PcdFlashFvRecoveryBase|PcdFlashFvRecoverySize
40 FV = FvRecovery
41
42 0x00280000|0x0000c000
43 PcdFlashNvStorageBase|PcdFlashNvStorageSize
44 DATA = {
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
56 }
57
58 0x0028c000|0x00002000
59 PcdFlashNvStorageEventLogBase|PcdFlashNvStorageEventLogSize
60
61 0x0028e000|0x00002000
62 PcdFlashNvStorageFtwWorkingBase|PcdFlashNvStorageFtwWorkingSize
63 DATA = {
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
68 }
69
70 0x00290000|0x00010000
71 PcdFlashNvStorageFtwSpareBase|PcdFlashNvStorageFtwSpareBase
72
73 ################################################################################
74 #
75 # FV Section
76 #
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
80 # module statements.
81 #
82 ################################################################################
83 [FV.FvRecovery]
84 FvAlignment = 16 #FV alignment and FV attributes setting.
85 ERASE_POLARITY = 1
86 MEMORY_MAPPED = TRUE
87 STICKY_WRITE = TRUE
88 LOCK_CAP = TRUE
89 LOCK_STATUS = TRUE
90 WRITE_DISABLED_CAP = TRUE
91 WRITE_ENABLED_CAP = TRUE
92 WRITE_STATUS = TRUE
93 WRITE_LOCK_CAP = TRUE
94 WRITE_LOCK_STATUS = TRUE
95 READ_DISABLED_CAP = TRUE
96 READ_ENABLED_CAP = TRUE
97 READ_STATUS = TRUE
98 READ_LOCK_CAP = TRUE
99 READ_LOCK_STATUS = TRUE
100
101 ################################################################################
102 #
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.
107 #
108 # The format for INF statements is:
109 # INF $(PathAndInfFileName)
110 #
111 ################################################################################
112 ##
113 # PEI Phase modules
114 ##
115 INF $(WORKSPACE)/MdeModulePkg/Core/Pei/PeiMain.inf
116 INF $(WORKSPACE)/MdeModulePkg/Universal/PCD/Pei/Pcd.inf
117 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
118 INF $(WORKSPACE)/Nt32Pkg/BootModePei/BootMode.inf
119 INF $(WORKSPACE)/Nt32Pkg/WinNtFlashMapPei/FlashMap.inf
120 INF $(WORKSPACE)/MdeModulePkg/Universal/BaseMemoryTestPei/BaseMemoryTest.inf
121 INF $(WORKSPACE)/MdeModulePkg/Universal/VariablePei/Variable.inf
122 INF $(WORKSPACE)/Nt32Pkg/WinNtAutoScanPei/WinNtAutoScan.inf
123 INF $(WORKSPACE)/Nt32Pkg/WinNtFirmwareVolumePei/WinNtFwh.inf
124 INF $(WORKSPACE)/Nt32Pkg/WinNtThunkPPIToProtocolPei/WinNtThunkPPIToProtocol.inf
125 INF $(WORKSPACE)/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
126
127 ##
128 # DXE Phase modules
129 ##
130 INF $(WORKSPACE)/MdeModulePkg/Core/Dxe/DxeMain.inf
131 INF $(WORKSPACE)/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
132 INF $(WORKSPACE)/Nt32Pkg/MetronomeDxe/Metronome.inf
133 INF $(WORKSPACE)/Nt32Pkg/RealTimeClockRuntimeDxe/RealTimeClock.inf
134 INF $(WORKSPACE)/Nt32Pkg/ResetRuntimeDxe/Reset.inf
135 INF $(WORKSPACE)/MdeModulePkg/Universal/RuntimeDxe/Runtime.inf
136 INF $(WORKSPACE)/Nt32Pkg/FvbServicesRuntimeDxe/Nt32Fwh.inf
137 INF $(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStub.inf
138 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHub/Dxe/DataHub.inf
139 INF $(WORKSPACE)/MdeModulePkg/Universal/Ebc/Dxe/Ebc.inf
140 INF $(WORKSPACE)/MdeModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.inf
141 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
142 INF $(WORKSPACE)/Nt32Pkg/WinNtThunkDxe/WinNtThunk.inf
143 INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.inf
144 INF $(WORKSPACE)/Nt32Pkg/CpuRuntimeDxe/Cpu.inf
145 INF $(WORKSPACE)/Nt32Pkg/PlatformBdsDxe/PlatformBds.inf
146 INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.inf
147 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHub/DataHubStdErr/Dxe/DataHubStdErr.inf
148 INF $(WORKSPACE)/Nt32Pkg/MiscSubClassPlatformDxe/MiscSubclassDriver.inf
149 INF $(WORKSPACE)/Nt32Pkg/TimerDxe/Timer.inf
150 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
151 INF $(WORKSPACE)/MdeModulePkg/Universal/VariableRuntimeDxe/Variable.inf
152 INF $(WORKSPACE)/MdeModulePkg/Universal/WatchDogTimerDxe/WatchDogTimer.inf
153 INF $(WORKSPACE)/MdeModulePkg/Universal/MonotonicCounterDxe/MonotonicCounter.inf
154 INF $(WORKSPACE)/MdeModulePkg/Universal/Capsule/RuntimeDxe/CapsuleRuntime.inf
155 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatform.inf
156 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.inf
157 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsole.inf
158 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.inf
159 INF $(WORKSPACE)/MdeModulePkg/Universal/DevicePathDxe/DevicePath.inf
160 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.inf
161 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/Partition/Dxe/Partition.inf
162 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/SetupBrowserDxe/SetupBrowser.inf
163 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/UnicodeCollation/English/Dxe/English.inf
164 INF $(WORKSPACE)/MdeModulePkg/Bus/Pci/AtapiPassThruDxe/AtapiPassThru.inf
165 INF $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/PciBus/Dxe/PciBus.inf
166 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.inf ##This driver follows UEFI specification definition
167 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.inf ##This driver follows UEFI specification definition
168 INF $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/IdeBus/Dxe/IdeBus.inf
169 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.inf
170 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.inf
171 INF $(WORKSPACE)/Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriver.inf
172 INF $(WORKSPACE)/Nt32Pkg/WinNtBlockIoDxe/WinNtBlockIo.inf
173 INF $(WORKSPACE)/Nt32Pkg/WinNtConsoleDxe/WinNtConsole.inf
174 INF $(WORKSPACE)/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.inf
175 INF $(WORKSPACE)/Nt32Pkg/WinNtGopDxe/WinNtGop.inf
176 INF $(WORKSPACE)/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.inf
177 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSample.inf
178 INF $(WORKSPACE)/MdeModulePkg/Application/HelloWorld/HelloWorld.inf
179
180 ################################################################################
181 #
182 # FILE statements are provided so that a platform integrator can include
183 # complete EFI FFS files, as well as a method for constructing FFS files
184 # using curly "{}" brace scoping. The following three FILEs are
185 # for binary shell, binary fat and logo module.
186 #
187 ################################################################################
188 FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 CHECKSUM {
189 SECTION COMPRESS PI_STD {
190 SECTION GUIDED {
191 SECTION PE32 = EdkShellBinPkg/FullShell/ia32/Shell_Full.efi
192 }
193 }
194 }
195 FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F CHECKSUM {
196 SECTION COMPRESS PI_STD {
197 SECTION GUIDED {
198 SECTION PE32 = FatBinPkg/Fat/Ia32/Fat.efi
199 }
200 }
201 }
202 FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D CHECKSUM {
203 SECTION COMPRESS PI_STD {
204 SECTION GUIDED {
205 SECTION RAW = EdkNt32Pkg/Logo/Logo.bmp
206 }
207 }
208 }
209
210
211 ################################################################################
212 #
213 # Rules are use with the [FV] section¡¯s module INF type to define
214 # how an FFS file is created for a given INF file. The following Rule are the default
215 # rules for the different module type. User can add the customized rules to define the
216 # content of the FFS file.
217 #
218 ################################################################################
219 [Rule.Common.PEI_CORE]
220 FILE PEI_CORE = $(NAMED_GUID) CheckSum {
221 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
222 UI Optional $(MODULE_NAME)
223 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
224 }
225
226 [Rule.Common.PEIM]
227 FILE PEIM = $(NAMED_GUID) CheckSum {
228 PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).Depex
229 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
230 UI Optional $(MODULE_NAME)
231 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
232 }
233
234 [Rule.Common.DXE_CORE]
235 FILE DXE_CORE = $(NAMED_GUID) CheckSum {
236 COMPRESS PI_STD {
237 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
238 UI Optional $(MODULE_NAME)
239 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
240 }
241 }
242
243 [Rule.Common.UEFI_DRIVER]
244 FILE DRIVER = $(NAMED_GUID) CheckSum {
245 COMPRESS PI_STD {
246 GUIDED {
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)
251 }
252 }
253 }
254
255 [Rule.Common.DXE_DRIVER]
256 FILE DRIVER = $(NAMED_GUID) CheckSum {
257 COMPRESS PI_STD {
258 GUIDED {
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)
263 }
264 }
265 }
266
267 [Rule.Common.DXE_RUNTIME_DRIVER]
268 FILE DRIVER = $(NAMED_GUID) CheckSum {
269 COMPRESS PI_STD {
270 GUIDED {
271 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
272 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
273 UI Optional $(MODULE_NAME)
274 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
275 }
276 }
277 }
278
279 [Rule.Common.UEFI_APPLICATION]
280 FILE APPLICATION = $(NAMED_GUID) CheckSum {
281 COMPRESS PI_STD {
282 GUIDED {
283 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
284 UI Optional $(MODULE_NAME)
285 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
286 }
287 }
288 }
289