f5840b29244962e2e877691f33aa62f1c2b0b59c
[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/BootModePei.inf
119 INF $(WORKSPACE)/Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
120 INF $(WORKSPACE)/MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
121 INF $(WORKSPACE)/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
122 INF $(WORKSPACE)/Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
123 INF $(WORKSPACE)/Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
124 INF $(WORKSPACE)/Nt32Pkg/WinNtThunkPPIToProtocolPei/WinNtThunkPPIToProtocolPei.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/MetronomeDxe.inf
133 INF $(WORKSPACE)/Nt32Pkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
134 INF $(WORKSPACE)/Nt32Pkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
135 INF $(WORKSPACE)/MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
136 INF $(WORKSPACE)/Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
137 INF $(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
138 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
139 INF $(WORKSPACE)/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
140 INF $(WORKSPACE)/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
141 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
142 INF $(WORKSPACE)/Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf
143 INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/Crc32SectionExtractDxe/Crc32SectionExtractDxe.inf
144 INF $(WORKSPACE)/Nt32Pkg/CpuRuntimeDxe/CpuRuntimeDxe.inf
145 INF $(WORKSPACE)/Nt32Pkg/PlatformBdsDxe/PlatformBdsDxe.inf
146 INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf
147 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHubStdErrDxe/DataHubStdErrDxe.inf
148 INF $(WORKSPACE)/Nt32Pkg/MiscSubClassPlatformDxe/MiscSubClassPlatformDxe.inf
149 INF $(WORKSPACE)/Nt32Pkg/TimerDxe/TimerDxe.inf
150 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf
151 INF $(WORKSPACE)/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
152 INF $(WORKSPACE)/MdeModulePkg/Universal/WatchDogTimerDxe/WatchDogTimer.inf
153 INF $(WORKSPACE)/MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
154 INF $(WORKSPACE)/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
155 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
156 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
157 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
158 INF $(WORKSPACE)/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
159 INF $(WORKSPACE)/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
160 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
161 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
162 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/SetupBrowserDxe/SetupBrowser.inf
163 INF $(WORKSPACE)/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
164 INF $(WORKSPACE)/MdeModulePkg/Bus/Pci/AtapiPassThruDxe/AtapiPassThru.inf
165 INF $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
166 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf ##This driver follows UEFI specification definition
167 INF $(WORKSPACE)/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf ##This driver follows UEFI specification definition
168 INF $(WORKSPACE)/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
169 INF $(WORKSPACE)/Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriverDxe.inf
170 INF $(WORKSPACE)/Nt32Pkg/WinNtBlockIoDxe/WinNtBlockIoDxe.inf
171 INF $(WORKSPACE)/Nt32Pkg/WinNtConsoleDxe/WinNtConsoleDxe.inf
172 INF $(WORKSPACE)/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf
173 INF $(WORKSPACE)/Nt32Pkg/WinNtGopDxe/WinNtGopDxe.inf
174 INF $(WORKSPACE)/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystemDxe.inf
175 INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
176 INF $(WORKSPACE)/MdeModulePkg/Application/HelloWorld/HelloWorld.inf
177
178 ################################################################################
179 #
180 # FILE statements are provided so that a platform integrator can include
181 # complete EFI FFS files, as well as a method for constructing FFS files
182 # using curly "{}" brace scoping. The following three FILEs are
183 # for binary shell, binary fat and logo module.
184 #
185 ################################################################################
186 FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 CHECKSUM {
187 SECTION COMPRESS PI_STD {
188 SECTION GUIDED {
189 SECTION PE32 = EdkShellBinPkg/FullShell/ia32/Shell_Full.efi
190 }
191 }
192 }
193 FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F CHECKSUM {
194 SECTION COMPRESS PI_STD {
195 SECTION GUIDED {
196 SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi
197 }
198 }
199 }
200 FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D CHECKSUM {
201 SECTION COMPRESS PI_STD {
202 SECTION GUIDED {
203 SECTION RAW = MdeModulePkg/Logo/Logo.bmp
204 }
205 }
206 }
207
208
209 ################################################################################
210 #
211 # Rules are use with the [FV] section¡¯s module INF type to define
212 # how an FFS file is created for a given INF file. The following Rule are the default
213 # rules for the different module type. User can add the customized rules to define the
214 # content of the FFS file.
215 #
216 ################################################################################
217 [Rule.Common.PEI_CORE]
218 FILE PEI_CORE = $(NAMED_GUID) CheckSum {
219 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
220 UI Optional $(MODULE_NAME)
221 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
222 }
223
224 [Rule.Common.PEIM]
225 FILE PEIM = $(NAMED_GUID) CheckSum {
226 PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).Depex
227 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
228 UI Optional $(MODULE_NAME)
229 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
230 }
231
232 [Rule.Common.DXE_CORE]
233 FILE DXE_CORE = $(NAMED_GUID) CheckSum {
234 COMPRESS PI_STD {
235 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
236 UI Optional $(MODULE_NAME)
237 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
238 }
239 }
240
241 [Rule.Common.UEFI_DRIVER]
242 FILE DRIVER = $(NAMED_GUID) CheckSum {
243 COMPRESS PI_STD {
244 GUIDED {
245 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
246 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
247 UI Optional $(MODULE_NAME)
248 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
249 }
250 }
251 }
252
253 [Rule.Common.DXE_DRIVER]
254 FILE DRIVER = $(NAMED_GUID) CheckSum {
255 COMPRESS PI_STD {
256 GUIDED {
257 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
258 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
259 UI Optional $(MODULE_NAME)
260 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
261 }
262 }
263 }
264
265 [Rule.Common.DXE_RUNTIME_DRIVER]
266 FILE DRIVER = $(NAMED_GUID) CheckSum {
267 COMPRESS PI_STD {
268 GUIDED {
269 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
270 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
271 UI Optional $(MODULE_NAME)
272 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
273 }
274 }
275 }
276
277 [Rule.Common.UEFI_APPLICATION]
278 FILE APPLICATION = $(NAMED_GUID) CheckSum {
279 COMPRESS PI_STD {
280 GUIDED {
281 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
282 UI Optional $(MODULE_NAME)
283 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
284 }
285 }
286 }