]> git.proxmox.com Git - mirror_edk2.git/blame - Nt32Pkg/Nt32Pkg.fdf
Fix a bug which does not run PeiCore from memory after shadowing it.
[mirror_edk2.git] / Nt32Pkg / Nt32Pkg.fdf
CommitLineData
24491cf6 1# This is NT32 FDF file\r
a9ce5754 2#\r
3# Copyright (c) 2007, Intel Corporation\r
4#\r
5# All rights reserved. This program and the accompanying materials\r
6# are licensed and made available under the terms and conditions of the BSD License\r
7# which accompanies this distribution. The full text of the license may be found at\r
8# http://opensource.org/licenses/bsd-license.php\r
9#\r
10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12#\r
24491cf6 13\r
f5d74f6d
LG
14################################################################################\r
15#\r
16# FD Section\r
7800ef49 17# The [FD] Section is made up of the definition statements and a\r
18# description of what goes into the Flash Device Image. Each FD section\r
d88bd7a5 19# defines one flash "device" image. A flash device image may be one of\r
7800ef49 20# the following: Removable media bootable image (like a boot floppy\r
d88bd7a5 21# image,) an Option ROM image (that would be "flashed" into an add-in\r
8df425cb 22# card,) a System "Flash" image (that would be burned into a system's\r
d88bd7a5 23# flash) or an Update ("Capsule") image that will be used to update and\r
f5d74f6d
LG
24# existing system flash.\r
25#\r
26################################################################################\r
24491cf6 27[FD.Fv_Recovery]\r
c4396d66
LG
28BaseAddress = 0x0|gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddress #The base address of the FLASH Device.\r
29Size = 0x002a0000 #The size in bytes of the FLASH Device\r
24491cf6
LG
30ErasePolarity = 1\r
31BlockSize = 0x10000\r
32NumBlocks = 0x2a\r
33\r
f5d74f6d
LG
34################################################################################\r
35#\r
7800ef49 36# Following are lists of FD Region layout which correspond to the locations of different\r
37# images within the flash device.\r
38#\r
f5d74f6d
LG
39# Regions must be defined in ascending order and may not overlap.\r
40#\r
d88bd7a5
LG
41# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by\r
42# the pipe "|" character, followed by the size of the region, also in hex with the leading\r
43# "0x" characters. Like:\r
f5d74f6d
LG
44# Offset|Size\r
45# PcdOffsetCName|PcdSizeCName\r
46# RegionType <FV, DATA, or FILE>\r
47#\r
48################################################################################\r
24491cf6 490x00000000|0x00280000\r
c4396d66 50gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoveryBase|gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoverySize\r
24491cf6
LG
51FV = FvRecovery\r
52\r
530x00280000|0x0000c000\r
c4396d66 54gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
24491cf6 55DATA = {\r
7800ef49 56 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
57 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
58 0x8d, 0x2b, 0xf1, 0xff, 0x96, 0x76, 0x8b, 0x4c,\r
59 0xa9, 0x85, 0x27, 0x47, 0x07, 0x5b, 0x4f, 0x50,\r
60 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\r
61 0x5f, 0x46, 0x56, 0x48, 0xff, 0x8c, 0xff, 0xff,\r
62 0x48, 0x00, 0x3b, 0x7c, 0x00, 0x00, 0x00, 0x01,\r
63 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,\r
64 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
65 0x24, 0x56, 0x53, 0x53, 0xb8, 0xbf, 0x00, 0x00,\r
24491cf6
LG
66 0x5a, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
67}\r
68\r
690x0028c000|0x00002000\r
c4396d66 70gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogBase|gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogSize\r
24491cf6
LG
71\r
720x0028e000|0x00002000\r
c4396d66 73gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize\r
7800ef49 74DATA = {\r
75 0x8d, 0x2b, 0xf1, 0xff, 0x96, 0x76, 0x8b, 0x4c,\r
76 0xa9, 0x85, 0x27, 0x47, 0x07, 0x5b, 0x4f, 0x50,\r
77 0xd2, 0x5f, 0x05, 0x9e, 0xfe, 0xff, 0xff, 0xff,\r
78 0xff, 0xff, 0xff, 0xff, 0xe0, 0x1f, 0x00, 0x00\r
24491cf6
LG
79}\r
80\r
810x00290000|0x00010000\r
c4396d66 82gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize\r
24491cf6 83\r
f5d74f6d
LG
84################################################################################\r
85#\r
86# FV Section\r
87#\r
88# [FV] section is used to define what components or modules are placed within a flash\r
89# device file. This section also defines order the components and modules are positioned\r
90# within the image. The [FV] section consists of define statements, set statements and\r
91# module statements.\r
92#\r
93################################################################################\r
24491cf6 94[FV.FvRecovery]\r
7800ef49 95FvAlignment = 16 #FV alignment and FV attributes setting.\r
24491cf6
LG
96ERASE_POLARITY = 1\r
97MEMORY_MAPPED = TRUE\r
98STICKY_WRITE = TRUE\r
99LOCK_CAP = TRUE\r
100LOCK_STATUS = TRUE\r
101WRITE_DISABLED_CAP = TRUE\r
102WRITE_ENABLED_CAP = TRUE\r
103WRITE_STATUS = TRUE\r
104WRITE_LOCK_CAP = TRUE\r
105WRITE_LOCK_STATUS = TRUE\r
106READ_DISABLED_CAP = TRUE\r
107READ_ENABLED_CAP = TRUE\r
108READ_STATUS = TRUE\r
109READ_LOCK_CAP = TRUE\r
110READ_LOCK_STATUS = TRUE\r
111\r
f5d74f6d
LG
112################################################################################\r
113#\r
114# The INF statements point to EDK component and EDK II module INF files, which will be placed into this FV image.\r
115# Parsing tools will scan the INF file to determine the type of component or module.\r
7800ef49 116# The component or module type is used to reference the standard rules\r
f5d74f6d
LG
117# defined elsewhere in the FDF file.\r
118#\r
119# The format for INF statements is:\r
120# INF $(PathAndInfFileName)\r
121#\r
122################################################################################\r
04eced5b 123 ##\r
124 # PEI Phase modules\r
125 ##\r
9c7aa186 126 ##\r
127 # PEI Apriori file example, more PEIM module added later.\r
128 ##\r
129APRIORI PEI {\r
130 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
131 INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf\r
132 }\r
133\r
a5b8a503 134INF MdeModulePkg/Core/Pei/PeiMain.inf\r
135INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
136INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf\r
137INF Nt32Pkg/BootModePei/BootModePei.inf\r
138INF Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf\r
139INF MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf\r
140INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
141INF Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf\r
142INF Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf\r
143INF Nt32Pkg/WinNtThunkPPIToProtocolPei/WinNtThunkPPIToProtocolPei.inf\r
144INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
7800ef49 145\r
04eced5b 146 ##\r
147 # DXE Phase modules\r
148 ##\r
a5b8a503 149INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
150INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
151INF Nt32Pkg/MetronomeDxe/MetronomeDxe.inf\r
152INF Nt32Pkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
153INF Nt32Pkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
154INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
155INF Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf\r
156INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
157INF IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf\r
158INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
159INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
160INF IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf\r
161INF Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf\r
a5b8a503 162INF Nt32Pkg/CpuRuntimeDxe/CpuRuntimeDxe.inf\r
163INF Nt32Pkg/PlatformBdsDxe/PlatformBdsDxe.inf\r
164INF MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf\r
165INF IntelFrameworkModulePkg/Universal/DataHubStdErrDxe/DataHubStdErrDxe.inf\r
166INF Nt32Pkg/MiscSubClassPlatformDxe/MiscSubClassPlatformDxe.inf\r
167INF Nt32Pkg/TimerDxe/TimerDxe.inf\r
168INF IntelFrameworkModulePkg/Universal/StatusCode/Dxe/DxeStatusCode.inf\r
169INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
170INF MdeModulePkg/Universal/WatchDogTimerDxe/WatchDogTimer.inf\r
171INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
172INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
173INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
174INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
175INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
176INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
177INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
178INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
179INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
180INF IntelFrameworkModulePkg/Universal/SetupBrowserDxe/SetupBrowser.inf\r
181INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
182INF MdeModulePkg/Bus/Pci/AtapiPassThruDxe/AtapiPassThru.inf\r
183INF IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
184INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf ##This driver follows UEFI specification definition\r
185INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf ##This driver follows UEFI specification definition\r
186INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
187INF Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriverDxe.inf\r
188INF Nt32Pkg/WinNtBlockIoDxe/WinNtBlockIoDxe.inf\r
a5b8a503 189INF Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf\r
190INF Nt32Pkg/WinNtGopDxe/WinNtGopDxe.inf\r
191INF Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystemDxe.inf\r
192INF IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf\r
193INF MdeModulePkg/Application/HelloWorld/HelloWorld.inf\r
f5d74f6d
LG
194\r
195################################################################################\r
196#\r
7800ef49 197# FILE statements are provided so that a platform integrator can include\r
198# complete EFI FFS files, as well as a method for constructing FFS files\r
199# using curly "{}" brace scoping. The following three FILEs are\r
f5d74f6d
LG
200# for binary shell, binary fat and logo module.\r
201#\r
202################################################################################\r
29c3622c 203FILE APPLICATION = c57ad6b7-0515-40a8-9d21-551652854e37 {\r
04eced5b 204 SECTION COMPRESS PI_STD {\r
7800ef49 205 SECTION GUIDED {\r
04eced5b 206 SECTION PE32 = EdkShellBinPkg/FullShell/ia32/Shell_Full.efi\r
207 }\r
208 }\r
209 }\r
29c3622c 210FILE DRIVER = 961578FE-B6B7-44c3-AF35-6BC705CD2B1F {\r
e0086b58 211 SECTION COMPRESS PI_STD {\r
212 SECTION GUIDED {\r
d4b81622 213 SECTION PE32 = FatBinPkg/EnhancedFatDxe/Ia32/Fat.efi\r
e0086b58 214 }\r
215 }\r
216 }\r
29c3622c 217FILE FREEFORM = 7BB28B99-61BB-11D5-9A5D-0090273FC14D {\r
7800ef49 218 SECTION COMPRESS PI_STD {\r
04eced5b 219 SECTION GUIDED {\r
49ddf612 220 SECTION RAW = MdeModulePkg/Logo/Logo.bmp\r
04eced5b 221 }\r
7800ef49 222 }\r
223 }\r
24491cf6 224\r
f5d74f6d
LG
225\r
226################################################################################\r
227#\r
8df425cb 228# Rules are use with the [FV] section's module INF type to define\r
f5d74f6d
LG
229# how an FFS file is created for a given INF file. The following Rule are the default\r
230# rules for the different module type. User can add the customized rules to define the\r
231# content of the FFS file.\r
232#\r
233################################################################################\r
29c3622c 234\r
235\r
236############################################################################\r
237# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section # \r
238############################################################################\r
239#\r
240#[Rule.Common.DXE_DRIVER]\r
c4396d66
LG
241# FILE DRIVER = $(NAMED_GUID) {\r
242# DXE_DEPEX DXE_DEPEX Optional |.depex\r
29c3622c 243# COMPRESS PI_STD {\r
244# GUIDED {\r
c4396d66
LG
245# PE32 PE32 |.efi\r
246# UI STRING="$(MODULE_NAME)" Optional\r
247# VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
29c3622c 248# }\r
249# }\r
250# }\r
251#\r
252############################################################################\r
253\r
24491cf6 254[Rule.Common.PEI_CORE]\r
29c3622c 255 FILE PEI_CORE = $(NAMED_GUID) {\r
c4396d66
LG
256 PE32 PE32 |.efi\r
257 UI STRING ="$(MODULE_NAME)" Optional \r
258 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) \r
24491cf6
LG
259 }\r
260\r
261[Rule.Common.PEIM]\r
29c3622c 262 FILE PEIM = $(NAMED_GUID) {\r
c4396d66
LG
263 PEI_DEPEX PEI_DEPEX Optional |.depex\r
264 PE32 PE32 |.efi\r
265 UI STRING="$(MODULE_NAME)" Optional \r
266 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) \r
7800ef49 267 }\r
24491cf6
LG
268\r
269[Rule.Common.DXE_CORE]\r
29c3622c 270 FILE DXE_CORE = $(NAMED_GUID) {\r
24491cf6 271 COMPRESS PI_STD {\r
c4396d66
LG
272 PE32 PE32 |.efi\r
273 UI STRING="$(MODULE_NAME)" Optional\r
274 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
7800ef49 275 }\r
24491cf6
LG
276 }\r
277\r
278[Rule.Common.UEFI_DRIVER]\r
29c3622c 279 FILE DRIVER = $(NAMED_GUID) {\r
c4396d66 280 DXE_DEPEX DXE_DEPEX Optional |.depex\r
24491cf6
LG
281 COMPRESS PI_STD {\r
282 GUIDED {\r
c4396d66
LG
283 PE32 PE32 |.efi\r
284 UI STRING="$(MODULE_NAME)" Optional\r
285 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
24491cf6
LG
286 }\r
287 }\r
7800ef49 288 }\r
24491cf6
LG
289\r
290[Rule.Common.DXE_DRIVER]\r
29c3622c 291 FILE DRIVER = $(NAMED_GUID) {\r
c4396d66 292 DXE_DEPEX DXE_DEPEX Optional |.depex\r
24491cf6
LG
293 COMPRESS PI_STD {\r
294 GUIDED {\r
c4396d66
LG
295 PE32 PE32 |.efi\r
296 UI STRING="$(MODULE_NAME)" Optional\r
297 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
24491cf6
LG
298 }\r
299 }\r
7800ef49 300 }\r
24491cf6
LG
301\r
302[Rule.Common.DXE_RUNTIME_DRIVER]\r
29c3622c 303 FILE DRIVER = $(NAMED_GUID) {\r
c4396d66 304 DXE_DEPEX DXE_DEPEX Optional |.depex\r
24491cf6
LG
305 COMPRESS PI_STD {\r
306 GUIDED {\r
c4396d66
LG
307 PE32 PE32 |.efi\r
308 UI STRING="$(MODULE_NAME)" Optional\r
309 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
24491cf6
LG
310 }\r
311 }\r
7800ef49 312 }\r
24491cf6
LG
313\r
314[Rule.Common.UEFI_APPLICATION]\r
29c3622c 315 FILE APPLICATION = $(NAMED_GUID) {\r
24491cf6
LG
316 COMPRESS PI_STD {\r
317 GUIDED {\r
c4396d66
LG
318 PE32 PE32 |.efi\r
319 UI STRING="$(MODULE_NAME)" Optional\r
320 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
24491cf6
LG
321 }\r
322 }\r
7800ef49 323 }\r