]>
Commit | Line | Data |
---|---|---|
6bfbb5f0 | 1 | ## @file\r |
48695d70 SZ |
2 | # Intel Framework Module Package.\r |
3 | #\r | |
4 | # This package contains the definitions and module implementation\r | |
217b9921 | 5 | # which follows Intel EFI Framework Specification.\r |
a9102619 | 6 | #\r |
0a6f4824 | 7 | # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r |
a9102619 | 8 | #\r |
c0a00b14 | 9 | # SPDX-License-Identifier: BSD-2-Clause-Patent\r |
a9102619 | 10 | #\r |
6bfbb5f0 | 11 | ##\r |
a9102619 | 12 | \r |
a9102619 | 13 | [Defines]\r |
14 | DEC_SPECIFICATION = 0x00010005\r | |
15 | PACKAGE_NAME = IntelFrameworkModulePkg\r | |
48695d70 | 16 | PACKAGE_UNI_FILE = IntelFrameworkModulePkg.uni\r |
a9102619 | 17 | PACKAGE_GUID = 88894582-7553-4822-B484-624E24B6DECF\r |
f4d7904b | 18 | PACKAGE_VERSION = 0.96\r |
a9102619 | 19 | \r |
19525fed | 20 | [Includes]\r |
479922d7 | 21 | Include # Root include for the package\r |
a9102619 | 22 | \r |
19525fed | 23 | [LibraryClasses]\r |
ddac74d1 | 24 | ## @libraryclass Platform BDS library definition about platform specific behavior.\r |
25 | PlatformBdsLib|Include/Library/PlatformBdsLib.h\r | |
f4671790 | 26 | \r |
ddac74d1 | 27 | ## @libraryclass Generic BDS library definition, include the data structure and function.\r |
28 | GenericBdsLib|Include/Library/GenericBdsLib.h\r | |
29 | \r | |
19525fed | 30 | [Guids]\r |
f4671790 | 31 | ## IntelFrameworkModule package token space guid\r |
a90ccab8 | 32 | # Include/Guid/IntelFrameworkModulePkgTokenSpace.h\r |
f4671790 | 33 | gEfiIntelFrameworkModulePkgTokenSpaceGuid = { 0xD3705011, 0xBC19, 0x4af7, { 0xBE, 0x16, 0xF6, 0x80, 0x30, 0x37, 0x8C, 0x15 }}\r |
73850864 | 34 | \r |
f4671790 | 35 | ## GUID identifies Data Hub records logged by Status Code Runtime Protocol.\r |
a90ccab8 | 36 | # Include/Guid/DataHubStatusCodeRecord.h\r |
351986ae | 37 | gEfiDataHubStatusCodeRecordGuid = { 0xD083E94C, 0x6560, 0x42E4, { 0xB6, 0xD4, 0x2D, 0xF7, 0x5A, 0xDF, 0x6A, 0x2A }}\r |
73850864 | 38 | \r |
070fba65 | 39 | ## Include/Guid/AcpiVariable.h\r |
40 | gEfiAcpiVariableCompatiblityGuid = { 0xc020489e, 0x6db2, 0x4ef2, { 0x9a, 0xa5, 0xca, 0x6, 0xfc, 0x11, 0xd3, 0x6a }}\r | |
41 | \r | |
bcecde14 | 42 | ## Include/Guid/LegacyBios.h\r |
43 | gEfiLegacyBiosGuid = { 0x2E3044AC, 0x879F, 0x490F, { 0x97, 0x60, 0xBB, 0xDF, 0xAF, 0x69, 0x5F, 0x50 }}\r | |
0a6f4824 | 44 | \r |
e24fc103 LG |
45 | ## Include/Guid/LegacyDevOrder.h\r |
46 | gEfiLegacyDevOrderVariableGuid = { 0xa56074db, 0x65fe, 0x45f7, {0xbd, 0x21, 0x2d, 0x2b, 0xdd, 0x8e, 0x96, 0x52 }}\r | |
47 | \r | |
48 | ## Include/Guid/CapsuleDataFile.h\r | |
49 | gEfiUpdateDataFileGuid = { 0x283fa2ee, 0x532c, 0x484d, { 0x93, 0x83, 0x9f, 0x93, 0xb3, 0x6f, 0xb, 0x7e }}\r | |
0a6f4824 | 50 | \r |
e24fc103 LG |
51 | ## Include/Guid/BlockIoVendor.h\r |
52 | gBlockIoVendorGuid = { 0xcf31fac5, 0xc24e, 0x11d2, {0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b }}\r | |
0a6f4824 | 53 | \r |
e24fc103 LG |
54 | ## Include/Guid/BdsHii.h\r |
55 | gFrontPageFormSetGuid = { 0x9e0c30bc, 0x3f06, 0x4ba6, {0x82, 0x88, 0x9, 0x17, 0x9b, 0x85, 0x5d, 0xbe }}\r | |
56 | gBootManagerFormSetGuid = { 0x847bc3fe, 0xb974, 0x446d, {0x94, 0x49, 0x5a, 0xd5, 0x41, 0x2e, 0x99, 0x3b }}\r | |
57 | gDeviceManagerFormSetGuid = { 0x3ebfa8e6, 0x511d, 0x4b5b, {0xa9, 0x5f, 0xfb, 0x38, 0x26, 0xf, 0x1c, 0x27 }}\r | |
58 | gDriverHealthFormSetGuid = { 0xf76e0a70, 0xb5ed, 0x4c38, {0xac, 0x9a, 0xe5, 0xf5, 0x4b, 0xf1, 0x6e, 0x34 }}\r | |
59 | gBootMaintFormSetGuid = { 0x642237c7, 0x35d4, 0x472d, {0x83, 0x65, 0x12, 0xe0, 0xcc, 0xf2, 0x7a, 0x22 }}\r | |
60 | gFileExploreFormSetGuid = { 0x1f2d63e1, 0xfebd, 0x4dc7, {0x9c, 0xc5, 0xba, 0x2b, 0x1c, 0xef, 0x9c, 0x5b }}\r | |
0a6f4824 | 61 | \r |
e24fc103 LG |
62 | ## Include/Guid/BdsLibHii.h\r |
63 | gBdsLibStringPackageGuid = { 0x3b4d9b23, 0x95ac, 0x44f6, {0x9f, 0xcd, 0xe, 0x95, 0x94, 0x58, 0x6c, 0x72 }}\r | |
0a6f4824 | 64 | \r |
e24fc103 LG |
65 | ## Include/Guid/LastEnumLang.h\r |
66 | gLastEnumLangGuid = { 0xe8c545b, 0xa2ee, 0x470d, {0x8e, 0x26, 0xbd, 0xa1, 0xa1, 0x3c, 0xa, 0xa3 }}\r | |
67 | \r | |
68 | ## Include/Guid/HdBootVariable.h\r | |
69 | gHdBootDevicePathVariablGuid = { 0xfab7e9e1, 0x39dd, 0x4f2b, {0x84, 0x8, 0xe2, 0xe, 0x90, 0x6c, 0xb6, 0xde }}\r | |
bcecde14 | 70 | \r |
19525fed | 71 | [Protocols]\r |
f4671790 | 72 | ## Vga Mini port binding for a VGA controller\r |
a90ccab8 | 73 | # Include/Protocol/VgaMiniPort.h\r |
351986ae | 74 | gEfiVgaMiniPortProtocolGuid = { 0xc7735a2f, 0x88f5, 0x4882, { 0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 }}\r |
e8eecbf4 | 75 | \r |
f4671790 | 76 | ## ISA I/O Protocol is used to perform ISA device Io/Mem operations.\r |
a90ccab8 | 77 | # Include/Protocol/IsaIo.h\r |
c3902377 | 78 | gEfiIsaIoProtocolGuid = { 0x7ee2bd44, 0x3da0, 0x11d4, { 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d }}\r |
e8eecbf4 | 79 | \r |
f4671790 | 80 | ## ISA Acpi Protocol is used to operate and communicate with ISA device.\r |
a90ccab8 | 81 | # Include/Protocol/IsaAcpi.h\r |
351986ae | 82 | gEfiIsaAcpiProtocolGuid = { 0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 }}\r |
e8eecbf4 | 83 | \r |
da4483cd | 84 | ## OEM Badging Protocol defines the interface to get the OEM badging image with the dispaly attribute.\r |
a90ccab8 | 85 | # Include/Protocol/OEMBadging.h\r |
da4483cd | 86 | gEfiOEMBadgingProtocolGuid = { 0x170E13C0, 0xBF1B, 0x4218, { 0x87, 0x1D, 0x2A, 0xBD, 0xC6, 0xF8, 0x87, 0xBC }}\r |
87 | \r | |
664e368f | 88 | ## Include/Protocol/ExitPmAuth.h\r |
89 | gExitPmAuthProtocolGuid = { 0xd088a413, 0xa70, 0x4217, { 0xba, 0x55, 0x9a, 0x3c, 0xb6, 0x5c, 0x41, 0xb3 }}\r | |
90 | \r | |
48695d70 SZ |
91 | #\r |
92 | # [Error.gEfiIntelFrameworkModulePkgTokenSpaceGuid]\r | |
93 | # 0x80000001 | Invalid value provided.\r | |
94 | # 0x80000002 | Reserved bits must be set to zero.\r | |
95 | #\r | |
96 | \r | |
f4671790 | 97 | [PcdsFeatureFlag]\r |
48695d70 SZ |
98 | ## Indicates if OEM device is enabled as StatusCode report device.\r |
99 | # It is only used in Framework StatusCode implementation. <BR><BR>\r | |
100 | # TRUE - Enable OEM device.<BR>\r | |
101 | # FALSE - Disable OEM device.<BR>\r | |
102 | # @Prompt Report StatusCode via OEM Device\r | |
b3af5df6 | 103 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseOEM|FALSE|BOOLEAN|0x00010024\r |
d2c315e6 | 104 | \r |
48695d70 SZ |
105 | ## Indicates if StatusCode report is loged into DataHub.<BR><BR>\r |
106 | # TRUE - Log StatusCode report into DataHub.<BR>\r | |
107 | # FALSE - Does not log StatusCode report into DataHub.<BR>\r | |
108 | # @Prompt Log StatusCode into DataHub\r | |
b3af5df6 | 109 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE|BOOLEAN|0x00010029\r |
d2c315e6 | 110 | \r |
48695d70 SZ |
111 | ## Indicates if Serial device uses half hand shake.<BR><BR>\r |
112 | # TRUE - Serial device uses half hand shake.<BR>\r | |
113 | # FALSE - Serial device doesn't use half hand shake.<BR>\r | |
114 | # @Prompt Enable Serial device Half Hand Shake\r | |
77b91d89 | 115 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSerialUseHalfHandshake|FALSE|BOOLEAN|0x00010043\r |
116 | \r | |
48695d70 SZ |
117 | ## Indicates if Legacy support is needed for ACPI S3 Save.<BR><BR>\r |
118 | # TRUE - Support Legacy OS with S3 boot.<BR>\r | |
119 | # FALSE - Does not support Legacy OS with S3 boot.<BR>\r | |
120 | # @Prompt Turn on Legacy Support in S3 Boot\r | |
bcecde14 | 121 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport|TRUE|BOOLEAN|0x00010044\r |
122 | \r | |
0a6f4824 | 123 | ## Indicates if Framework Acpi Support protocol is installed.<BR><BR>\r |
48695d70 SZ |
124 | # TRUE - Install Framework Acpi Support protocol.<BR>\r |
125 | # FALSE - Doesn't install Framework Acpi Support protocol.<BR>\r | |
126 | # @Prompt Enable Framework Acpi Support\r | |
8a96515e | 127 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdInstallAcpiSupportProtocol|TRUE|BOOLEAN|0x00010046\r |
128 | \r | |
48695d70 SZ |
129 | ## Indicates if only Boot logo is showed and all message output is disabled in BDS.<BR><BR>\r |
130 | # TRUE - Only Boot Logo is showed in boot.<BR>\r | |
131 | # FALSE - All messages and Boot Logo are showed in boot.<BR>\r | |
132 | # @Prompt Enable Boot Logo only\r | |
2df686c6 | 133 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable|FALSE|BOOLEAN|0x00010048\r |
134 | \r | |
48695d70 | 135 | [PcdsFixedAtBuild, PcdsPatchableInModule]\r |
d46f3632 | 136 | ## FFS filename to find the default BMP Logo file.\r |
48695d70 | 137 | # @Prompt FFS Name of Boot Logo File\r |
f9ec2f0f | 138 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile |{ 0x99, 0x8b, 0xB2, 0x7B, 0xBB, 0x61, 0xD5, 0x11, 0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }|VOID*|0x40000003\r |
d46f3632 LG |
139 | \r |
140 | ## FFS filename to find the shell application.\r | |
48695d70 | 141 | # @Prompt FFS Name of Shell Application\r |
f9ec2f0f | 142 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0xB7, 0xD6, 0x7A, 0xC5, 0x15, 0x05, 0xA8, 0x40, 0x9D, 0x21, 0x55, 0x16, 0x52, 0x85, 0x4E, 0x37 }|VOID*|0x40000004\r |
d46f3632 | 143 | \r |
48695d70 SZ |
144 | ## ISA Bus features to support DMA, SlaveDMA and ISA Memory. <BR><BR>\r |
145 | # BIT0 indicates if DMA is supported<BR>\r | |
146 | # BIT1 indicates if only slave DMA is supported<BR>\r | |
147 | # BIT2 indicates if ISA memory is supported<BR>\r | |
148 | # Other BITs are reseved and must be zero.\r | |
149 | # If more than one features are supported, the different BIT will be enabled at the same time.\r | |
150 | # @Prompt ISA Bus Features\r | |
151 | # @Expression 0x80000002 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures & 0xF8) == 0\r | |
10c1a4ca | 152 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures|0x05|UINT8|0x00010040\r |
153 | \r | |
4784d660 | 154 | [PcdsDynamic, PcdsDynamicEx]\r |
48695d70 SZ |
155 | ## Indicates if the machine has completed one boot cycle before.\r |
156 | # After the complete boot, BootState will be set to FALSE.<BR><BR>\r | |
157 | # TRUE - The complete boot cycle has not happened before.<BR>\r | |
158 | # FALSE - The complete boot cycle has happened before.<BR>\r | |
159 | # @Prompt Boot State Flag\r | |
f4671790 | 160 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState|TRUE|BOOLEAN|0x0001002f\r |
73850864 | 161 | \r |
d8387fa4 | 162 | [PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]\r |
163 | ## I/O Base address of floppy device controller.\r | |
48695d70 | 164 | # @Prompt I/O Base Address of Floppy Device Controller\r |
d8387fa4 | 165 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFdcBaseAddress|0x3f0|UINT16|0x30000000\r |
166 | \r | |
48695d70 SZ |
167 | ## Indicates if BiosVideo driver will switch to 80x25 Text VGA Mode when exiting boot service.<BR><BR>\r |
168 | # TRUE - Switch to Text VGA Mode.<BR>\r | |
169 | # FALSE - Does not switch to Text VGA Mode.<BR>\r | |
170 | # @Prompt Switch to Text VGA Mode on UEFI Boot\r | |
bcecde14 | 171 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoSetTextVgaModeEnable|FALSE|BOOLEAN|0x30000001\r |
172 | \r | |
48695d70 SZ |
173 | ## Indicates if BiosVideo driver will check for VESA BIOS Extension service support.<BR><BR>\r |
174 | # TRUE - Check for VESA BIOS Extension service.<BR>\r | |
175 | # FALSE - Does not check for VESA BIOS Extension service.<BR>\r | |
176 | # @Prompt Enable Check for VESA BIOS Extension Service\r | |
bcecde14 | 177 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVbeEnable|TRUE|BOOLEAN|0x30000002\r |
178 | \r | |
48695d70 | 179 | ## Indicates if BiosVideo driver will check for VGA service support.\r |
bcecde14 | 180 | # NOTE: If both PcdBiosVideoCheckVbeEnable and PcdBiosVideoCheckVgaEnable are set to FALSE,\r |
48695d70 SZ |
181 | # that means Graphics Output protocol will not be installed, the VGA miniport protocol will be installed instead.<BR><BR>\r |
182 | # TRUE - Check for VGA service.<BR>\r | |
183 | # FALSE - Does not check for VGA service.<BR>\r | |
184 | # @Prompt Enable Check for VGA Service\r | |
bcecde14 | 185 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVgaEnable|TRUE|BOOLEAN|0x30000003\r |
186 | \r | |
48695d70 SZ |
187 | ## Indicates if memory space for legacy region will be set as cacheable.<BR><BR>\r |
188 | # TRUE - Set cachebility for legacy region.<BR>\r | |
189 | # FALSE - Does not set cachebility for legacy region.<BR>\r | |
190 | # @Prompt Enable Cachebility for Legacy Region\r | |
bcecde14 | 191 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLegacyBiosCacheLegacyRegion|TRUE|BOOLEAN|0x00000004\r |
192 | \r | |
48695d70 | 193 | ## Specify memory size with bytes to reserve EBDA below 640K for OPROM.\r |
0a6f4824 | 194 | # The value should be a multiple of 4KB.\r |
48695d70 SZ |
195 | # @Prompt Reserved EBDA Memory Size\r |
196 | # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize < 0xA0000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize & 0x1000) == 0)\r | |
bcecde14 | 197 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize|0x8000|UINT32|0x30000005\r |
198 | \r | |
48695d70 | 199 | ## Specify memory base address for OPROM to find free memory.\r |
0a6f4824 | 200 | # Some OPROMs do not use EBDA or PMM to allocate memory for its usage,\r |
3e5eb447 | 201 | # instead they find the memory filled with zero from 0x20000.\r |
d0ad204c | 202 | # The value should be a multiple of 4KB.\r |
0a6f4824 | 203 | # The range should be below the EBDA reserved range from\r |
48695d70 | 204 | # (CONVENTIONAL_MEMORY_TOP - Reserved EBDA Memory Size) to CONVENTIONAL_MEMORY_TOP.\r |
c00fd724 QS |
205 | # @Prompt Reserved Memory Base Address for OPROM\r |
206 | # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase >= 0x20000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase & 0x1000) == 0)\r | |
3e5eb447 | 207 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase|0x60000|UINT32|0x3000000c\r |
0a6f4824 | 208 | \r |
48695d70 | 209 | ## Specify memory size with bytes for OPROM to find free memory.\r |
0a6f4824 | 210 | # The value should be a multiple of 4KB. And the range should be below the EBDA reserved range from\r |
48695d70 | 211 | # (CONVENTIONAL_MEMORY_TOP - Reserved EBDA Memory Size) to CONVENTIONAL_MEMORY_TOP.\r |
c00fd724 QS |
212 | # @Prompt Reserved Memory Size for OPROM\r |
213 | # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize < 0x80000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize & 0x1000) == 0)\r | |
3e5eb447 | 214 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize|0x28000|UINT32|0x3000000d\r |
215 | \r | |
48695d70 | 216 | ## Specify memory size with page number for a pre-allocated reserved memory to be used\r |
0a6f4824 | 217 | # by PEI in S3 phase. The default size 32K. When changing the value make sure the memory size\r |
48695d70 SZ |
218 | # is large enough to meet PEI requirement in the S3 phase.\r |
219 | # @Prompt Reserved S3 Boot ACPI Memory Size\r | |
88d20adc | 220 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize|0x8000|UINT32|0x30000006\r |
221 | \r | |
48695d70 | 222 | ## Specify the end of address below 1MB for the OPROM.\r |
befbc4f3 | 223 | # The last shadowed OpROM should not exceed this address.\r |
48695d70 SZ |
224 | # @Prompt Top Address of Shadowed Legacy OpROM\r |
225 | # @Expression 0x80000001 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress < 0x100000\r | |
befbc4f3 | 226 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress|0xdffff|UINT32|0x30000008\r |
0a6f4824 | 227 | \r |
48695d70 | 228 | ## Specify the low PMM (Post Memory Manager) size with bytes below 1MB.\r |
befbc4f3 | 229 | # The value should be a multiple of 4KB.\r |
48695d70 SZ |
230 | # @Prompt Low PMM (Post Memory Manager) Size\r |
231 | # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize < 0x100000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize & 0x1000) == 0)\r | |
befbc4f3 | 232 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize|0x10000|UINT32|0x30000009\r |
0a6f4824 | 233 | \r |
48695d70 | 234 | ## Specify the high PMM (Post Memory Manager) size with bytes above 1MB.\r |
befbc4f3 | 235 | # The value should be a multiple of 4KB.\r |
48695d70 SZ |
236 | # @Prompt High PMM (Post Memory Manager) Size\r |
237 | # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize & 0x1000) == 0\r | |
befbc4f3 | 238 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize|0x400000|UINT32|0x3000000a\r |
4ccfd305 | 239 | \r |
48695d70 SZ |
240 | [UserExtensions.TianoCore."ExtraFiles"]\r |
241 | IntelFrameworkModulePkgExtra.uni\r |