BaseTools/BinToPcd: Fix Python 2.7.x compatibility issue
[mirror_edk2.git] / Nt32Pkg / Nt32Pkg.fdf
CommitLineData
7b202cb0 1## @file\r
5fd5fcd3 2# This is NT32 FDF file with UEFI HII features enabled\r
a9ce5754 3#\r
70420e31 4# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>\r
c4a5d3f1 5# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
a9ce5754 6#\r
8f2a5f80 7# This program and the accompanying materials\r
a9ce5754 8# are licensed and made available under the terms and conditions of the BSD License\r
9# which accompanies this distribution. The full text of the license may be found at\r
10# http://opensource.org/licenses/bsd-license.php\r
11#\r
12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14#\r
24491cf6 15\r
f5d74f6d
LG
16################################################################################\r
17#\r
18# FD Section\r
7800ef49 19# The [FD] Section is made up of the definition statements and a\r
20# description of what goes into the Flash Device Image. Each FD section\r
d88bd7a5 21# defines one flash "device" image. A flash device image may be one of\r
7800ef49 22# the following: Removable media bootable image (like a boot floppy\r
d88bd7a5 23# image,) an Option ROM image (that would be "flashed" into an add-in\r
8df425cb 24# card,) a System "Flash" image (that would be burned into a system's\r
d88bd7a5 25# flash) or an Update ("Capsule") image that will be used to update and\r
f5d74f6d
LG
26# existing system flash.\r
27#\r
28################################################################################\r
ae8432d0 29[FD.Nt32]\r
c4a5d3f1 30BaseAddress = 0x0|gEfiNt32PkgTokenSpaceGuid.PcdWinNtFdBaseAddress #The base address of the FLASH Device.\r
c60d751b 31Size = 0x00480000|gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareFdSize #The size in bytes of the FLASH Device\r
24491cf6
LG
32ErasePolarity = 1\r
33BlockSize = 0x10000\r
c60d751b 34NumBlocks = 0x48\r
24491cf6 35\r
f5d74f6d
LG
36################################################################################\r
37#\r
7800ef49 38# Following are lists of FD Region layout which correspond to the locations of different\r
39# images within the flash device.\r
40#\r
f5d74f6d
LG
41# Regions must be defined in ascending order and may not overlap.\r
42#\r
d88bd7a5
LG
43# A Layout Region start with a eight digit hex offset (leading "0x" required) followed by\r
44# the pipe "|" character, followed by the size of the region, also in hex with the leading\r
45# "0x" characters. Like:\r
f5d74f6d
LG
46# Offset|Size\r
47# PcdOffsetCName|PcdSizeCName\r
48# RegionType <FV, DATA, or FILE>\r
49#\r
50################################################################################\r
c60d751b 510x00000000|0x00460000\r
c4396d66 52gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoveryBase|gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashFvRecoverySize\r
24491cf6
LG
53FV = FvRecovery\r
54\r
c60d751b 550x00460000|0x0000c000\r
c4396d66 56gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
498f4b39 57#NV_VARIABLE_STORE\r
24491cf6 58DATA = {\r
498f4b39
LG
59 ## This is the EFI_FIRMWARE_VOLUME_HEADER\r
60 # ZeroVector []\r
7800ef49 61 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
62 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
498f4b39
LG
63 # FileSystemGuid: gEfiSystemNvDataFvGuid =\r
64 # { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}\r
65 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C,\r
66 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50,\r
67 # FvLength: 0x20000\r
7800ef49 68 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\r
498f4b39
LG
69 #Signature "_FVH" #Attributes\r
70 0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00,\r
71 #HeaderLength #CheckSum #ExtHeaderOffset #Reserved #Revision\r
72 0x48, 0x00, 0x36, 0x09, 0x00, 0x00, 0x00, 0x02,\r
73 #Blockmap[0]: 2 Blocks * 0x10000 Bytes / Block\r
7800ef49 74 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,\r
498f4b39 75 #Blockmap[1]: End\r
7800ef49 76 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\r
498f4b39 77 ## This is the VARIABLE_STORE_HEADER\r
0ff38cbf 78!if $(SECURE_BOOT_ENABLE) == TRUE\r
79 #Signature: gEfiAuthenticatedVariableGuid =\r
80 # { 0xaaf32c78, 0x947b, 0x439a, { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 }}\r
81 0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43,\r
82 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92,\r
83!else\r
3709c4cd 84 #Signature: gEfiVariableGuid =\r
85 # { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }}\r
86 0x16, 0x36, 0xcf, 0xdd, 0x75, 0x32, 0x64, 0x41,\r
87 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d,\r
0ff38cbf 88!endif\r
3709c4cd 89 #Size: 0xc000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) - 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0xBFB8\r
90 # This can speed up the Variable Dispatch a bit.\r
91 0xB8, 0xBF, 0x00, 0x00,\r
498f4b39
LG
92 #FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32\r
93 0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
24491cf6
LG
94}\r
95\r
c60d751b 960x0046c000|0x00002000\r
498f4b39 97#NV_EVENT_LOG\r
c4396d66 98gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogBase|gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageEventLogSize\r
24491cf6 99\r
c60d751b 1000x0046e000|0x00002000\r
c4396d66 101gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize\r
498f4b39 102#NV_FTW_WORKING\r
7800ef49 103DATA = {\r
71e9d09e
SZ
104 # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid =\r
105 # { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95 }}\r
106 0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49,\r
107 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95,\r
498f4b39 108 # Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved\r
71e9d09e 109 0xE2, 0x33, 0xF2, 0x03, 0xFE, 0xFF, 0xFF, 0xFF,\r
2a958a00
LG
110 # WriteQueueSize: UINT64\r
111 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\r
24491cf6
LG
112}\r
113\r
c60d751b 1140x00470000|0x00010000\r
498f4b39 115#NV_FTW_SPARE\r
c4396d66 116gEfiNt32PkgTokenSpaceGuid.PcdWinNtFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize\r
24491cf6 117\r
f5d74f6d
LG
118################################################################################\r
119#\r
120# FV Section\r
121#\r
122# [FV] section is used to define what components or modules are placed within a flash\r
123# device file. This section also defines order the components and modules are positioned\r
124# within the image. The [FV] section consists of define statements, set statements and\r
125# module statements.\r
126#\r
127################################################################################\r
c47eca1a 128[FV.FvRecovery]\r
7800ef49 129FvAlignment = 16 #FV alignment and FV attributes setting.\r
24491cf6
LG
130ERASE_POLARITY = 1\r
131MEMORY_MAPPED = TRUE\r
132STICKY_WRITE = TRUE\r
133LOCK_CAP = TRUE\r
134LOCK_STATUS = TRUE\r
135WRITE_DISABLED_CAP = TRUE\r
136WRITE_ENABLED_CAP = TRUE\r
137WRITE_STATUS = TRUE\r
138WRITE_LOCK_CAP = TRUE\r
139WRITE_LOCK_STATUS = TRUE\r
140READ_DISABLED_CAP = TRUE\r
141READ_ENABLED_CAP = TRUE\r
142READ_STATUS = TRUE\r
143READ_LOCK_CAP = TRUE\r
144READ_LOCK_STATUS = TRUE\r
eb920364 145FvNameGuid = 6D99E806-3D38-42c2-A095-5F4300BFD7DC\r
24491cf6 146\r
c47eca1a
LG
147################################################################################\r
148#\r
149# The INF statements point to EDK component and EDK II module INF files, which will be placed into this FV image.\r
150# Parsing tools will scan the INF file to determine the type of component or module.\r
151# The component or module type is used to reference the standard rules\r
152# defined elsewhere in the FDF file.\r
153#\r
154# The format for INF statements is:\r
155# INF $(PathAndInfFileName)\r
156#\r
157################################################################################\r
158 ##\r
159 # PEI Phase modules\r
160 ##\r
161 ##\r
162 # PEI Apriori file example, more PEIM module added later.\r
163 ##\r
164APRIORI PEI {\r
165 INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
25126a05 166 INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
164393a0 167 INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf\r
25126a05 168 INF Nt32Pkg/WinNtOemHookStatusCodeHandlerPei/WinNtOemHookStatusCodeHandlerPei.inf\r
9c7aa186 169 }\r
c47eca1a 170APRIORI DXE {\r
863986b3 171 INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
c47eca1a
LG
172 INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
173 INF Nt32Pkg/MetronomeDxe/MetronomeDxe.inf\r
70420e31
LG
174 INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
175 INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
176 INF Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.inf\r
00b7321e 177 }\r
9c7aa186 178\r
c47eca1a
LG
179INF MdeModulePkg/Core/Pei/PeiMain.inf\r
180INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf\r
25126a05 181INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
164393a0 182INF MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf\r
25126a05 183INF Nt32Pkg/WinNtOemHookStatusCodeHandlerPei/WinNtOemHookStatusCodeHandlerPei.inf\r
c47eca1a 184INF Nt32Pkg/BootModePei/BootModePei.inf\r
ba82cb67 185INF Nt32Pkg/StallPei/StallPei.inf\r
c47eca1a 186INF Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf\r
c47eca1a
LG
187INF Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf\r
188INF Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf\r
0ff38cbf 189\r
71e9d09e 190INF MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf\r
58dcdada 191INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
0ff38cbf 192\r
c47eca1a
LG
193INF Nt32Pkg/WinNtThunkPPIToProtocolPei/WinNtThunkPPIToProtocolPei.inf\r
194INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
7800ef49 195\r
c47eca1a
LG
196 ##\r
197 # DXE Phase modules\r
198 ##\r
199INF MdeModulePkg/Core/Dxe/DxeMain.inf\r
a5b8a503 200INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
201INF Nt32Pkg/MetronomeDxe/MetronomeDxe.inf\r
202INF Nt32Pkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
00beb2ab 203INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
a5b8a503 204INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
205INF Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf\r
206INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
1fdd39d3 207INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
a5b8a503 208INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
209INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
5fd5fcd3 210INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
a5b8a503 211INF Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf\r
a5b8a503 212INF Nt32Pkg/CpuRuntimeDxe/CpuRuntimeDxe.inf\r
811e73ac 213INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
f2993c02 214INF MdeModulePkg/Application/UiApp/UiApp.inf\r
811e73ac 215INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf\r
eba3ff4c 216INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
a5b8a503 217INF Nt32Pkg/MiscSubClassPlatformDxe/MiscSubClassPlatformDxe.inf\r
218INF Nt32Pkg/TimerDxe/TimerDxe.inf\r
25126a05 219INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
164393a0 220INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
25126a05 221INF Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.inf\r
6f88fb20 222INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
0ff38cbf 223!if $(SECURE_BOOT_ENABLE) == TRUE\r
0ff38cbf 224INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf\r
0ff38cbf 225!endif\r
9efcf13f 226INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
a5b8a503 227INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
228INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
229INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
230INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
231INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
232INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
233INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
234INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
235INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
6b1ac444 236INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
5fd5fcd3 237INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
fcf24bad 238INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
97ef8cff 239INF RuleOverride = TIANOCOMPRESSED MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
061b1c20 240INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
d46f3632
LG
241INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
242INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
a5b8a503 243INF IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf\r
244INF Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriverDxe.inf\r
245INF Nt32Pkg/WinNtBlockIoDxe/WinNtBlockIoDxe.inf\r
a5b8a503 246INF Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf\r
247INF Nt32Pkg/WinNtGopDxe/WinNtGopDxe.inf\r
248INF Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystemDxe.inf\r
27431725 249INF MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf\r
785a1214 250INF MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf\r
f5d74f6d 251\r
3709c4cd 252INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
253INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
254INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
3709c4cd 255INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
256INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
1b14ec40 257INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf\r
3709c4cd 258INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
3709c4cd 259INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
260INF Nt32Pkg/SnpNt32Dxe/SnpNt32Dxe.inf\r
c628d65d
FS
261!if $(NETWORK_IP6_ENABLE) == TRUE\r
262INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf\r
263INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf\r
264INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf\r
265INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf\r
266INF NetworkPkg/TcpDxe/TcpDxe.inf\r
267INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
268INF NetworkPkg/IScsiDxe/IScsiDxe.inf\r
269!else\r
270INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
dda34dc7 271INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
3709c4cd 272INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
c628d65d 273!endif\r
24662805
FS
274INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf\r
275INF NetworkPkg/DnsDxe/DnsDxe.inf\r
276INF NetworkPkg/HttpDxe/HttpDxe.inf\r
4018f205 277INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf\r
c9b78304
JW
278!if $(TLS_ENABLE) == TRUE\r
279INF NetworkPkg/TlsDxe/TlsDxe.inf\r
280INF NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf\r
281!endif\r
0b6dc68d 282INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf\r
f5d74f6d
LG
283################################################################################\r
284#\r
7800ef49 285# FILE statements are provided so that a platform integrator can include\r
286# complete EFI FFS files, as well as a method for constructing FFS files\r
287# using curly "{}" brace scoping. The following three FILEs are\r
f5d74f6d
LG
288# for binary shell, binary fat and logo module.\r
289#\r
290################################################################################\r
2790926d 291!ifndef $(USE_OLD_SHELL)\r
46d5189b 292INF ShellPkg/Application/Shell/Shell.inf\r
2790926d
RN
293!else\r
294INF EdkShellBinPkg/FullShell/FullShell.inf\r
295!endif\r
ae8432d0 296\r
70dc0b80 297INF FatPkg/EnhancedFatDxe/Fat.inf\r
b696c64d 298INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf\r
ae8432d0 299\r
67ce479a 300INF MdeModulePkg/Logo/LogoDxe.inf\r
e2e9b3b4 301INF MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf\r
f5d74f6d
LG
302################################################################################\r
303#\r
8df425cb 304# Rules are use with the [FV] section's module INF type to define\r
f5d74f6d
LG
305# how an FFS file is created for a given INF file. The following Rule are the default\r
306# rules for the different module type. User can add the customized rules to define the\r
307# content of the FFS file.\r
308#\r
309################################################################################\r
29c3622c 310\r
311\r
312############################################################################\r
313# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section # \r
314############################################################################\r
315#\r
316#[Rule.Common.DXE_DRIVER]\r
c4396d66 317# FILE DRIVER = $(NAMED_GUID) {\r
2014a81a 318# DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
29c3622c 319# COMPRESS PI_STD {\r
320# GUIDED {\r
2014a81a 321# PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
c4396d66
LG
322# UI STRING="$(MODULE_NAME)" Optional\r
323# VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
29c3622c 324# }\r
325# }\r
326# }\r
327#\r
328############################################################################\r
329\r
24491cf6 330[Rule.Common.PEI_CORE]\r
29c3622c 331 FILE PEI_CORE = $(NAMED_GUID) {\r
2014a81a 332 PE32 PE32 Align=4K $(INF_OUTPUT)/$(MODULE_NAME).efi\r
c4396d66
LG
333 UI STRING ="$(MODULE_NAME)" Optional \r
334 VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) \r
24491cf6
LG
335 }\r
336\r
337[Rule.Common.PEIM]\r
29c3622c 338 FILE PEIM = $(NAMED_GUID) {\r
2014a81a
LG
339 PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
340 PE32 PE32 Align=4K $(INF_OUTPUT)/$(MODULE_NAME).efi\r
c4396d66
LG
341 UI STRING="$(MODULE_NAME)" Optional \r
342 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) \r
7800ef49 343 }\r
24491cf6
LG
344\r
345[Rule.Common.DXE_CORE]\r
29c3622c 346 FILE DXE_CORE = $(NAMED_GUID) {\r
24491cf6 347 COMPRESS PI_STD {\r
2014a81a 348 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
c4396d66
LG
349 UI STRING="$(MODULE_NAME)" Optional\r
350 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
7800ef49 351 }\r
24491cf6
LG
352 }\r
353\r
354[Rule.Common.UEFI_DRIVER]\r
29c3622c 355 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a 356 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
24491cf6
LG
357 COMPRESS PI_STD {\r
358 GUIDED {\r
2014a81a 359 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
c4396d66
LG
360 UI STRING="$(MODULE_NAME)" Optional\r
361 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
24491cf6 362 }\r
97ef8cff
LG
363 }\r
364 }\r
365\r
366[Rule.Common.UEFI_DRIVER.TIANOCOMPRESSED]\r
367 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a 368 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
97ef8cff 369 GUIDED A31280AD-481E-41B6-95E8-127F4C984779 PROCESSING_REQUIRED = TRUE {\r
2014a81a 370 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
97ef8cff
LG
371 UI STRING="$(MODULE_NAME)" Optional\r
372 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
24491cf6 373 }\r
7800ef49 374 }\r
24491cf6
LG
375\r
376[Rule.Common.DXE_DRIVER]\r
29c3622c 377 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a 378 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
24491cf6
LG
379 COMPRESS PI_STD {\r
380 GUIDED {\r
2014a81a 381 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
c4396d66
LG
382 UI STRING="$(MODULE_NAME)" Optional\r
383 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
24491cf6
LG
384 }\r
385 }\r
7800ef49 386 }\r
24491cf6
LG
387\r
388[Rule.Common.DXE_RUNTIME_DRIVER]\r
29c3622c 389 FILE DRIVER = $(NAMED_GUID) {\r
2014a81a 390 DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex\r
24491cf6
LG
391 COMPRESS PI_STD {\r
392 GUIDED {\r
2014a81a 393 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
c4396d66
LG
394 UI STRING="$(MODULE_NAME)" Optional\r
395 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
24491cf6
LG
396 }\r
397 }\r
7800ef49 398 }\r
24491cf6
LG
399\r
400[Rule.Common.UEFI_APPLICATION]\r
29c3622c 401 FILE APPLICATION = $(NAMED_GUID) {\r
24491cf6
LG
402 COMPRESS PI_STD {\r
403 GUIDED {\r
2014a81a 404 PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi\r
c4396d66
LG
405 UI STRING="$(MODULE_NAME)" Optional\r
406 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
24491cf6
LG
407 }\r
408 }\r
7800ef49 409 }\r
f66a43b2
JM
410\r
411[Rule.Common.UEFI_APPLICATION.BINARY]\r
412 FILE APPLICATION = $(NAMED_GUID) {\r
413 COMPRESS PI_STD {\r
414 GUIDED {\r
415 PE32 PE32 |.efi\r
416 UI STRING="$(MODULE_NAME)" Optional\r
417 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
418 }\r
419 }\r
420 }\r
421\r
422[Rule.Common.UEFI_DRIVER.BINARY]\r
423 FILE DRIVER = $(NAMED_GUID) {\r
424 DXE_DEPEX DXE_DEPEX Optional |.depex\r
425 COMPRESS PI_STD {\r
426 GUIDED {\r
427 PE32 PE32 |.efi\r
428 UI STRING="$(MODULE_NAME)" Optional\r
429 VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
430 }\r
431 }\r
432 }\r