# It also provides the definitions(including PPIs/PROTOCOLs/GUIDs) of\r
# EFI1.10/UEFI2.7/PI1.7 and some Industry Standards.\r
#\r
-# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.<BR>\r
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
-# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
+# (C) Copyright 2016 - 2021 Hewlett Packard Enterprise Development LP<BR>\r
#\r
# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
\r
[Includes]\r
Include\r
+ Test/UnitTest/Include\r
\r
[Includes.IA32]\r
Include/Ia32\r
[Includes.AARCH64]\r
Include/AArch64\r
\r
+[Includes.RISCV64]\r
+ Include/RiscV64\r
+\r
[LibraryClasses]\r
## @libraryclass Provides most usb APIs to support the Hid requests defined in Usb Hid 1.1 spec\r
# and the standard requests defined in Usb 1.1 spec.\r
## @libraryclass The multiple segments PCI configuration Library Services that carry out\r
## PCI configuration and enable the PCI operations to be replayed during an\r
## S3 resume. This library class maps directly on top of the PciSegmentLib class.\r
- S3PciSegmentLib|Include/Library/PciSegmentLib.h\r
+ S3PciSegmentLib|Include/Library/S3PciSegmentLib.h\r
\r
## @libraryclass Provides services to access PCI Configuration Space.\r
PciLib|Include/Library/PciLib.h\r
## @libraryclass Module entry point library for standalone MM drivers.\r
StandaloneMmDriverEntryPoint|Include/Library/StandaloneMmDriverEntryPoint.h\r
\r
+ ## @libraryclass Provides a unit test framework\r
+ #\r
+ UnitTestLib|Include/Library/UnitTestLib.h\r
+\r
+ ## @libraryclass Extension to BaseLib for host based unit tests that allows a\r
+ # subset of BaseLib services to be hooked for emulation.\r
+ #\r
+ UnitTestHostBaseLib|Test/UnitTest/Include/Library/UnitTestHostBaseLib.h\r
+\r
+ ## @libraryclass This library provides an interface to request non-MMRAM pages to be mapped\r
+ # or unblocked from inside MM environment.\r
+ #\r
+ MmUnblockMemoryLib|Include/Library/MmUnblockMemoryLib.h\r
+\r
+ ## @libraryclass This library provides interfances to filter and trace port IO/MMIO/MSR access.\r
+ #\r
+ #\r
+ RegisterFilterLib|Include/Library/RegisterFilterLib.h\r
+\r
+[LibraryClasses.IA32, LibraryClasses.X64, LibraryClasses.AARCH64]\r
+ ## @libraryclass Provides services to generate random number.\r
+ #\r
+ RngLib|Include/Library/RngLib.h\r
+\r
[LibraryClasses.IA32, LibraryClasses.X64]\r
## @libraryclass Abstracts both S/W SMI generation and detection.\r
##\r
#\r
SmmPeriodicSmiLib|Include/Library/SmmPeriodicSmiLib.h\r
\r
- ## @libraryclass Provides services to generate random number.\r
- #\r
- RngLib|Include/Library/RngLib.h\r
-\r
## @libraryclass Provides services to log the SMI handler registration.\r
SmiHandlerProfileLib|Include/Library/SmiHandlerProfileLib.h\r
\r
## Include/Guid/Mps.h\r
gEfiMpsTableGuid = { 0xEB9D2D2F, 0x2D88, 0x11D3, { 0x9A, 0x16, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r
\r
- ## Include/Guid/SalSystemTable.h\r
- gEfiSalSystemTableGuid = { 0xEB9D2D32, 0x2D88, 0x11D3, { 0x9A, 0x16, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r
-\r
## Include/Protocol/AuthenticationInfo.h\r
gEfiAuthenticationChapLocalGuid = { 0xC280C73E, 0x15CA, 0x11DA, { 0xB0, 0xCA, 0x00, 0x10, 0x83, 0xFF, 0xCA, 0x4D }}\r
\r
## Include/Guid/Cper.h\r
gEfiEventNotificationTypeDmarGuid = { 0x667DD791, 0xC6B3, 0x4c27, { 0x8A, 0x6B, 0x0F, 0x8E, 0x72, 0x2D, 0xEB, 0x41 }}\r
\r
+ ## Include/Guid/Cper.h\r
+ gEfiEventNotificationTypeSeaGuid = { 0x9A78788A, 0xBBE8, 0x11E4, { 0x80, 0x9E, 0x67, 0x61, 0x1E, 0x5D, 0x46, 0xB0 }}\r
+\r
+ ## Include/Guid/Cper.h\r
+ gEfiEventNotificationTypeSeiGuid = { 0x5C284C81, 0xB0AE, 0x4E87, { 0xA3, 0x22, 0xB0, 0x4C, 0x85, 0x62, 0x43, 0x23 }}\r
+\r
+ ## Include/Guid/Cper.h\r
+ gEfiEventNotificationTypePeiGuid = { 0x09A9D5AC, 0x5204, 0x4214, { 0x96, 0xE5, 0x94, 0x99, 0x2E, 0x75, 0x2B, 0xCD }}\r
+\r
## Include/Guid/Cper.h\r
gEfiProcessorGenericErrorSectionGuid = { 0x9876ccad, 0x47b4, 0x4bdb, { 0xb6, 0x5e, 0x16, 0xf1, 0x93, 0xc4, 0xf3, 0xdb }}\r
\r
# GUIDs defined in UEFI2.5\r
#\r
\r
- ## Include/Guid/PropertiesTable.h\r
- gEfiPropertiesTableGuid = { 0x880aaca3, 0x4adc, 0x4a04, {0x90, 0x79, 0xb7, 0x47, 0x34, 0x8, 0x25, 0xe5 }}\r
-\r
## Include/Guid/SystemResourceTable.h\r
gEfiSystemResourceTableGuid = { 0xb122a263, 0x3661, 0x4f68, {0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x21, 0x80 }}\r
\r
## Include/Guid/Btt.h\r
gEfiBttAbstractionGuid = { 0x18633bfc, 0x1735, 0x4217, { 0x8a, 0xc9, 0x17, 0x23, 0x92, 0x82, 0xd3, 0xf8 }}\r
\r
+ # GUIDs defined in UEFI2.8\r
+ #\r
+ ## Include/Guid/JsonCapsule.h\r
+ gEfiJsonConfigDataTableGuid = { 0x87367f87, 0x1119, 0x41ce, { 0xaa, 0xec, 0x8b, 0xe0, 0x11, 0x1f, 0x55, 0x8a }}\r
+ gEfiJsonCapsuleDataTableGuid = { 0x35e7a725, 0x8dd2, 0x4cac, { 0x80, 0x11, 0x33, 0xcd, 0xa8, 0x10, 0x90, 0x56 }}\r
+ gEfiJsonCapsuleResultTableGuid = { 0xdbc461c3, 0xb3de, 0x422a, { 0xb9, 0xb4, 0x98, 0x86, 0xfd, 0x49, 0xa1, 0xe5 }}\r
+ gEfiJsonCapsuleIdGuid = { 0x67d6f4cd, 0xd6b8, 0x4573, { 0xbf, 0x4a, 0xde, 0x5e, 0x25, 0x2d, 0x61, 0xae }}\r
+\r
+ ## Include/Guid/HiiPlatformSetupFormset.h\r
+ gEfiHiiRestStyleFormsetGuid = { 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 0x8b, 0x27 }}\r
+\r
+ # GUIDs defined in UEFI2.8a\r
+ #\r
+ ## Include/Guid/RtPropertiesTable.h\r
+ gEfiRtPropertiesTableGuid = { 0xeb66918a, 0x7eef, 0x402a, { 0x84, 0x2e, 0x93, 0x1d, 0x21, 0xc3, 0x8a, 0xe9 }}\r
+\r
+ ## Include/Protocol/SerilaIo.h\r
+ gEfiSerialTerminalDeviceTypeGuid = { 0x6AD9A60F, 0x5815, 0x4C7C, { 0x8A, 0x10, 0x50, 0x53, 0xD2, 0xBF, 0x7A, 0x1B }}\r
+\r
#\r
# GUID defined in PI1.0\r
#\r
## Include/Guid/GraphicsInfoHob.h\r
gEfiGraphicsDeviceInfoHobGuid = { 0xe5cb2ac9, 0xd35d, 0x4430, { 0x93, 0x6e, 0x1d, 0xe3, 0x32, 0x47, 0x8d, 0xe7 }}\r
\r
+ ## Include/Guid/SmramMemoryReserve.h\r
+ gEfiSmmSmramMemoryGuid = { 0x6dadf1d1, 0xd4cc, 0x4910, { 0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d }}\r
+\r
#\r
# GUID defined in PI1.6\r
#\r
## Include/IndustryStandard/WindowsUxCapsule.h\r
gWindowsUxCapsuleGuid = { 0x3b8c8162, 0x188c, 0x46a4, { 0xae, 0xc9, 0xbe, 0x43, 0xf1, 0xd6, 0x56, 0x97}}\r
\r
+ #\r
+ # GUID indicates the tiano custom compress/decompress algorithm.\r
+ #\r
+ gTianoCustomDecompressGuid = { 0xA31280AD, 0x481E, 0x41B6, { 0x95, 0xE8, 0x12, 0x7F, 0x4C, 0x98, 0x47, 0x79 }}\r
+\r
+ #\r
+ # GUID used to provide initrd to linux via LoadFile2 protocol\r
+ #\r
+ gLinuxEfiInitrdMediaGuid = {0x5568e427, 0x68fc, 0x4f3d, {0xac, 0x74, 0xca, 0x55, 0x52, 0x31, 0xcc, 0x68}}\r
+\r
[Guids.IA32, Guids.X64]\r
## Include/Guid/Cper.h\r
gEfiIa32X64ErrorTypeCacheCheckGuid = { 0xA55701F5, 0xE3EF, 0x43de, { 0xAC, 0x72, 0x24, 0x9B, 0x57, 0x3F, 0xAD, 0x2C }}\r
## Include/Ppi/SecHobData.h\r
gEfiSecHobDataPpiGuid = { 0x3ebdaf20, 0x6667, 0x40d8, {0xb4, 0xee, 0xf5, 0x99, 0x9a, 0xc1, 0xb7, 0x1f } }\r
\r
+ ## Include/Ppi/MmAccess.h\r
+ gEfiPeiMmAccessPpiGuid = { 0x268f33a9, 0xcccd, 0x48be, { 0x88, 0x17, 0x86, 0x5, 0x3a, 0xc3, 0x2e, 0xd6 }}\r
+\r
+ ## Include/Ppi/MmControl.h\r
+ gEfiPeiMmControlPpiGuid = { 0x61c68702, 0x4d7e, 0x4f43, { 0x8d, 0xef, 0xa7, 0x43, 0x5, 0xce, 0x74, 0xc5 }}\r
+\r
+ ## Include/Ppi/MmConfiguration.h\r
+ gEfiPeiMmConfigurationPpi = { 0xc109319, 0xc149, 0x450e, { 0xa3, 0xe3, 0xb9, 0xba, 0xdd, 0x9d, 0xc3, 0xa4 } }\r
+\r
+ ## Include/Ppi/MmCommunication.h\r
+ gEfiPeiMmCommunicationPpiGuid = { 0xae933e1c, 0xcc47, 0x4e38, { 0x8f, 0xe, 0xe2, 0xf6, 0x1d, 0x26, 0x5, 0xdf } }\r
+\r
#\r
# PPIs defined in PI 1.7.\r
#\r
## Include/Ppi/PeiCoreFvLocation.h\r
gEfiPeiCoreFvLocationPpiGuid = { 0x52888eae, 0x5b10, 0x47d0, { 0xa8, 0x7f, 0xb8, 0x22, 0xab, 0xa0, 0xca, 0xf4 }}\r
\r
+ ## Include/Ppi/DelayedDispatch.h\r
+ gEfiPeiDelayedDispatchPpiGuid = { 0x869c711d, 0x649c, 0x44fe, { 0x8b, 0x9e, 0x2c, 0xbb, 0x29, 0x11, 0xc3, 0xe6 }}\r
+\r
[Protocols]\r
## Include/Protocol/Pcd.h\r
gPcdProtocolGuid = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}\r
## Include/Protocol/LegacyRegion2.h\r
gEfiLegacyRegion2ProtocolGuid = {0x70101eaf, 0x85, 0x440c, {0xb3, 0x56, 0x8e, 0xe3, 0x6f, 0xef, 0x24, 0xf0 } }\r
\r
- ## Include/Protocol/McaInitPmi.h\r
- gEfiSalMcaInitPmiProtocolGuid = { 0xb60dc6e8, 0x3b6f, 0x11d5, {0xaf, 0x9, 0x0, 0xa0, 0xc9, 0x44, 0xa0, 0x5b } }\r
-\r
- ## Include/Protocol/ExtendedSalBootService.h\r
- gEfiExtendedSalBootServiceProtocolGuid = { 0xde0ee9a4, 0x3c7a, 0x44f2, {0xb7, 0x8b, 0xe3, 0xcc, 0xd6, 0x9c, 0x3a, 0xf7 } }\r
-\r
- ## Include/Protocol/ExtendedSalServiceClasses.h\r
- gEfiExtendedSalBaseIoServicesProtocolGuid = { 0x5aea42b5, 0x31e1, 0x4515, {0xbc, 0x31, 0xb8, 0xd5, 0x25, 0x75, 0x65, 0xa6 } }\r
- gEfiExtendedSalStallServicesProtocolGuid = { 0x53a58d06, 0xac27, 0x4d8c, {0xb5, 0xe9, 0xf0, 0x8a, 0x80, 0x65, 0x41, 0x70 } }\r
- gEfiExtendedSalRtcServicesProtocolGuid = { 0x7e97a470, 0xefdb, 0x4d02, {0x8f, 0xce, 0x61, 0x90, 0xd2, 0x7b, 0xa2, 0x96 } }\r
- gEfiExtendedSalVariableServicesProtocolGuid = { 0x4ecb6c53, 0xc641, 0x4370, {0x8c, 0xb2, 0x3b, 0x0e, 0x49, 0x6e, 0x83, 0x78 } }\r
- gEfiExtendedSalMtcServicesProtocolGuid = { 0x899afd18, 0x75e8, 0x408b, {0xa4, 0x1a, 0x6e, 0x2e, 0x7e, 0xcd, 0xf4, 0x54 } }\r
- gEfiExtendedSalResetServicesProtocolGuid = { 0x7d019990, 0x8ce1, 0x46f5, {0xa7, 0x76, 0x3c, 0x51, 0x98, 0x67, 0x6a, 0xa0 } }\r
- gEfiExtendedSalStatusCodeServicesProtocolGuid = { 0xdbd91d, 0x55e9, 0x420f, {0x96, 0x39, 0x5e, 0x9f, 0x84, 0x37, 0xb4, 0x4f } }\r
- gEfiExtendedSalFvBlockServicesProtocolGuid = { 0xa2271df1, 0xbcbb, 0x4f1d, {0x98, 0xa9, 0x06, 0xbc, 0x17, 0x2f, 0x07, 0x1a } }\r
- gEfiExtendedSalMpServicesProtocolGuid = { 0x697d81a2, 0xcf18, 0x4dc0, {0x9e, 0x0d, 0x06, 0x11, 0x3b, 0x61, 0x8a, 0x3f } }\r
- gEfiExtendedSalPalServicesProtocolGuid = { 0xe1cd9d21, 0x0fc2, 0x438d, {0x97, 0x03, 0x04, 0xe6, 0x6d, 0x96, 0x1e, 0x57 } }\r
- gEfiExtendedSalBaseServicesProtocolGuid = { 0xd9e9fa06, 0x0fe0, 0x41c3, {0x96, 0xfb, 0x83, 0x42, 0x5a, 0x33, 0x94, 0xf8 } }\r
- gEfiExtendedSalMcaServicesProtocolGuid = { 0x2a591128, 0x6cc7, 0x42b1, {0x8a, 0xf0, 0x58, 0x93, 0x3b, 0x68, 0x2d, 0xbb } }\r
- gEfiExtendedSalPciServicesProtocolGuid = { 0xa46b1a31, 0xad66, 0x4905, {0x92, 0xf6, 0x2b, 0x46, 0x59, 0xdc, 0x30, 0x63 } }\r
- gEfiExtendedSalCacheServicesProtocolGuid = { 0xedc9494, 0x2743, 0x4ba5, { 0x88, 0x18, 0x0a, 0xef, 0x52, 0x13, 0xf1, 0x88 } }\r
- gEfiExtendedSalMcaLogServicesProtocolGuid = { 0xcb3fd86e, 0x38a3, 0x4c03, {0x9a, 0x5c, 0x90, 0xcf, 0xa3, 0xa2, 0xab, 0x7a } }\r
-\r
#\r
# Protocols defined in PI 1.2.1\r
#\r
# Protocols defined in PI 1.5.\r
#\r
\r
+ ## Include/Protocol/MmMp.h\r
+ gEfiMmMpProtocolGuid = { 0x5d5450d7, 0x990c, 0x4180, { 0xa8, 0x3, 0x8e, 0x63, 0xf0, 0x60, 0x83, 0x7 }}\r
+\r
## Include/Protocol/MmEndOfDxe.h\r
gEfiMmEndOfDxeProtocolGuid = { 0x24e70042, 0xd5c5, 0x4260, { 0x8c, 0x39, 0xa, 0xd3, 0xaa, 0x32, 0xe9, 0x3d }}\r
\r
## Include/Protocol/SpiSmmNorFlash.h\r
gEfiSpiSmmNorFlashProtocolGuid = { 0xaab18f19, 0xfe14, 0x4666, { 0x86, 0x04, 0x87, 0xff, 0x6d, 0x66, 0x2c, 0x9a }}\r
\r
+ #\r
+ # Protocols defined in PI 1.7.\r
+ #\r
+\r
+ ## Include/Protocol/MmCommunication2.h\r
+ gEfiMmCommunication2ProtocolGuid = { 0x378daedc, 0xf06b, 0x4446, { 0x83, 0x14, 0x40, 0xab, 0x93, 0x3c, 0x87, 0xa3 }}\r
+\r
#\r
# Protocols defined in UEFI2.1/UEFI2.0/EFI1.1\r
#\r
## Include/Protocol/NvdimmLabel.h\r
gEfiNvdimmLabelProtocolGuid = { 0xd40b6b80, 0x97d5, 0x4282, { 0xbb, 0x1d, 0x22, 0x3a, 0x16, 0x91, 0x80, 0x58 }}\r
\r
+ #\r
+ # Protocols defined in UEFI2.8\r
+ #\r
+ ## Include/Protocol/RestEx.h\r
+ gEfiRestExProtocolGuid = { 0x55648b91, 0xe7d, 0x40a3, { 0xa9, 0xb3, 0xa8, 0x15, 0xd7, 0xea, 0xdf, 0x97 }}\r
+ gEfiRestExServiceBindingProtocolGuid = { 0x456bbe01, 0x99d0, 0x45ea, { 0xbb, 0x5f, 0x16, 0xd8, 0x4b, 0xed, 0xc5, 0x59 }}\r
+\r
+ ## Include/Protocol/RestJsonStructure.h\r
+ gEfiRestJsonStructureProtocolGuid = { 0xa9a048f6, 0x48a0, 0x4714, {0xb7, 0xda, 0xa9, 0xad,0x87, 0xd4, 0xda, 0xc9 }}\r
+\r
+ ## Include/Protocol/RedfishDiscover.h\r
+ gEfiRedfishDiscoverProtocolGuid = { 0x5db12509, 0x4550, 0x4347, { 0x96, 0xb3, 0x73, 0xc0, 0xff, 0x6e, 0x86, 0x9f }}\r
+\r
#\r
# Protocols defined in Shell2.0\r
#\r
# @Prompt Enable control flow enforcement.\r
gEfiMdePkgTokenSpaceGuid.PcdControlFlowEnforcementPropertyMask|0x0|UINT32|0x30001017\r
\r
+ ## Indicates the type of instruction sequence to use for a speculation\r
+ # barrier. The default instruction sequence is LFENCE.<BR><BR>\r
+ # 0x00 - No operation.<BR>\r
+ # 0x01 - LFENCE (IA32/X64).<BR>\r
+ # 0x02 - CPUID (IA32/X64).<BR>\r
+ # Other - reserved\r
+ # @Prompt Speculation Barrier Type.\r
+ gEfiMdePkgTokenSpaceGuid.PcdSpeculationBarrierType|0x01|UINT8|0x30001018\r
+\r
[PcdsFixedAtBuild,PcdsPatchableInModule]\r
## Indicates the maximum length of unicode string used in the following\r
# BaseLib functions: StrLen(), StrSize(), StrCmp(), StrnCmp(), StrCpy(), StrnCpy()<BR><BR>\r
# @ValidList 0x80000001 | 8, 16, 32\r
gEfiMdePkgTokenSpaceGuid.PcdPort80DataWidth|8|UINT8|0x0000002d\r
\r
- ## This value is used to configure X86 Processor FSB clock.\r
- # @Prompt FSB Clock.\r
- gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000|UINT32|0x0000000c\r
-\r
## The maximum printable number of characters. UefLib functions: AsciiPrint(), AsciiErrorPrint(),\r
# PrintXY(), AsciiPrintXY(), Print(), ErrorPrint() base on this PCD value to print characters.\r
# @Prompt Maximum Printable Number of Characters.\r
# @Prompt PCI Express Base Address.\r
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000|UINT64|0x0000000a\r
\r
+ ## This value is used to set the base address of PCI MMIO window that provides I/O access.\r
+ # @Prompt PCI I/O Memory Map Window Base Address.\r
+ gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0x0|UINT64|0x00000040\r
+\r
+ ## This value is used for the 32-bit PCI memory map I/O base address translation.\r
+ # @Prompt 32-bit PCI Memory Map I/O Base Address translation.\r
+ gEfiMdePkgTokenSpaceGuid.PcdPciMmio32Translation|0x0|UINT64|0x00000041\r
+\r
+ ## This value is used for the 64-bit PCI memory map I/O base address translation.\r
+ # @Prompt 64-bit PCI Memory Map I/O Base Address translation.\r
+ gEfiMdePkgTokenSpaceGuid.PcdPciMmio64Translation|0x0|UINT64|0x00000042\r
+\r
+ ## This value is used to set the size of PCI express hierarchy. The default is 256 MB.\r
+ # @Prompt PCI Express Base Size.\r
+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize|0x10000000|UINT64|0x0000000f\r
+\r
## Default current ISO 639-2 language: English & French.\r
# @Prompt Default Value of LangCodes Variable.\r
gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangCodes|"engfraengfra"|VOID*|0x0000001c\r
# @Prompt Boot Timeout (s)\r
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x0000002c\r
\r
+ ## This value is used to configure X86 Processor FSB clock.\r
+ # @Prompt FSB Clock.\r
+ gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000|UINT32|0x0000000c\r
+\r
[UserExtensions.TianoCore."ExtraFiles"]\r
MdePkgExtra.uni\r