]> git.proxmox.com Git - mirror_edk2.git/blob - Nt32Pkg/Nt32Pkg.fdf
Use Hob to get the variable base address in NV storage, but this need to be changed...
[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 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/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.inf
142 INF $(WORKSPACE)/MdeModulePkg/Universal/BaseMemoryTestPei/BaseMemoryTest.inf
143 INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.inf
144 INF $(WORKSPACE)/MdeModulePkg/Universal/VariableRuntimeDxe/Variable.inf
145 INF $(WORKSPACE)/MdeModulePkg/Bus/Pci/AtapiPassThruDxe/AtapiPassThru.inf
146 INF $(WORKSPACE)/MdeModulePkg/Universal/WatchDogTimerDxe/WatchDogTimer.inf
147 INF $(WORKSPACE)/MdeModulePkg/Universal/VariablePei/Variable.inf
148 INF $(WORKSPACE)/MdeModulePkg/Universal/VariableRuntimeDxe/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
167 ################################################################################
168 #
169 # FILE statements are provided so that a platform integrator can include
170 # complete EFI FFS files, as well as a method for constructing FFS files
171 # using curly "{}" brace scoping. The following three FILEs are
172 # for binary shell, binary fat and logo module.
173 #
174 ################################################################################
175 FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 CHECKSUM {
176 SECTION COMPRESS PI_STD {
177 SECTION GUIDED {
178 SECTION PE32 = EdkShellBinPkg/FullShell/ia32/Shell_Full.efi
179 }
180 }
181 }
182 FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F CHECKSUM {
183 SECTION COMPRESS PI_STD {
184 SECTION GUIDED {
185 SECTION PE32 = FatBinPkg/Fat/Ia32/Fat.efi
186 }
187 }
188 }
189 FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D CHECKSUM {
190 SECTION COMPRESS PI_STD {
191 SECTION GUIDED {
192 SECTION RAW = EdkNt32Pkg/Logo/Logo.bmp
193 }
194 }
195 }
196
197
198 ################################################################################
199 #
200 # Rules are use with the [FV] section¡¯s module INF type to define
201 # how an FFS file is created for a given INF file. The following Rule are the default
202 # rules for the different module type. User can add the customized rules to define the
203 # content of the FFS file.
204 #
205 ################################################################################
206 [Rule.Common.PEI_CORE]
207 FILE PEI_CORE = $(NAMED_GUID) CheckSum {
208 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
209 UI Optional $(MODULE_NAME)
210 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
211 }
212
213 [Rule.Common.PEIM]
214 FILE PEIM = $(NAMED_GUID) CheckSum {
215 PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).Depex
216 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
217 UI Optional $(MODULE_NAME)
218 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
219 }
220
221 [Rule.Common.DXE_CORE]
222 FILE DXE_CORE = $(NAMED_GUID) CheckSum {
223 COMPRESS PI_STD {
224 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
225 UI Optional $(MODULE_NAME)
226 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
227 }
228 }
229
230 [Rule.Common.UEFI_DRIVER]
231 FILE DRIVER = $(NAMED_GUID) CheckSum {
232 COMPRESS PI_STD {
233 GUIDED {
234 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
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
242 [Rule.Common.DXE_DRIVER]
243 FILE DRIVER = $(NAMED_GUID) CheckSum {
244 COMPRESS PI_STD {
245 GUIDED {
246 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
247 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
248 UI Optional $(MODULE_NAME)
249 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
250 }
251 }
252 }
253
254 [Rule.Common.DXE_RUNTIME_DRIVER]
255 FILE DRIVER = $(NAMED_GUID) CheckSum {
256 COMPRESS PI_STD {
257 GUIDED {
258 DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
259 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
260 UI Optional $(MODULE_NAME)
261 VERSION Optional BUILD_NUM=$(BUILD_NUMBER) $(INF_VERSION)
262 }
263 }
264 }
265
266 [Rule.Common.UEFI_APPLICATION]
267 FILE APPLICATION = $(NAMED_GUID) CheckSum {
268 COMPRESS PI_STD {
269 GUIDED {
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