Revision History¶
Many people have contributed to the contents of this specification, including the following:
Platform Integration Working Group (PIWG)
Tianocore Community Members
Others as noted in the Revision History below
Rev. |
Issue-Description-Submitter |
Affected Content |
1.8 |
2103 Adding EFI_DELAYED_DISPATCH_FUNCTION definition and explanation |
|
1.8 |
2119 HOB Update for Memory Ranges Capable of Being Protected by CPU Cryptographic Capabilities |
|
1.8 |
2147 EFI_RESOURCE_ATTRIBUTE_SP not defined in Resource Descriptor HOB |
|
1.8 |
2160 MP Services 2 PPI |
|
1.8 |
2161 Introduce unaccepted memory type, Chris Oo and others |
|
1.8 |
2340 Introduction of EFI_SW_EC_FRAGMENTED_MEMORY_MAP Status Code |
|
1.8 |
2341 Introduction of EFI_PERIPHERAL_TPM Peripheral Subclass Definition |
|
1.8 |
2351 update PI spec revision |
Changes in previous releases
Revision |
Issue / Description / Submitter |
Affected Content |
1.7B |
2101 Fix DXE_SPECIFICATION_MINOR_REVISION and PEI_SERVICES_REVISION definitions |
Section 3.2.1, Section 4.1, Section 3.2, Management Mode Backward Compatibility Types |
1.7B |
2110 Status Code Class definition, incorrect comment on OEM range |
|
1.7B |
2213 Clarify PEI Memory Allocation Rules |
|
1.7B |
2364 Inclusive language implementation - added new disclaimer section |
Revision |
Issue / Description / Submitter |
1.7A |
1663 SmmSxDispatch2 to Register() is not clear |
1.7A |
1736 Specification of EFI_BOOT_SCRIPT_WIDTH in Save State Write |
1.7A |
1993 Allow MM CommBuffer to be passed as a VA |
1.7A |
2017 EFI_RUNTIME_EVENT_ENTRY.Event should have type EFI_EVENT, not (EFI_EVENT*) |
1.7A |
2039 PI Configuration Tables Errata |
1.7A |
2040 EFI_SECTION_FREEFORM_SUBTYPE_GUID Errata |
1.7A |
2060 Add missing EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS definition |
1.7A |
2063 Add Index to end of PI Spec |
1.7A |
2071 Extended cpu topology |
1.7 |
1848 PEI Core PEIM Migration Support Change |
1.7 |
1856 SecCore/PeiCore BFV Requirement Change |
1.7 |
1860 MM MP Protocol issues |
1.7 |
1885 Add extended data for EFI_SW_DXE_BS_EC_BOOT_OPTION_LOAD_ERROR |
1.7 |
1889 New Status Codes |
1.7 |
1891 PEI delayed dispatch |
1.7 |
1892 new pi spec revision |
1.7 |
1955 set (*Attributes) when EFI_PEI_GET_VARIABLE2 returns EFI_BUFFER_TOO_SMALL and Attributes is non-NULL |
1.7 |
1967 New architectural PPI for PI PEI Core FV Location |
1.7 |
1969 Incompatible Pci Ignore Option Rom |
1.6A |
1828 Add decorator ‘OPTIONAL’ for Attributes parameter of EFI_PEI_GET_VARIABLE2. |
1.6A |
1849 Issues in PI Spec Vol. 5 Ch. 18 |
1.6A |
1857 Specifies how notifications are passed from SEC to PEI. |
1.6A |
1884 Variadic API issue in S3 save API |
1.6A |
1907 Clarification of the EFI_MM_COMMUNICATION_PROTOCOL |
1.6A |
1940 Clarify EFI_MM_CONFIGURATION_PROTOCOL_GUID |
1.6 |
1567 Layered SPI bus |
1.6 |
1648 PI Binding for RISC-V |
1.6 |
1746 Add an FV Extended Header entry that contains the used size of the FV |
1.6 |
1763 MM Handler state notification protocol |
1.6 |
1764 Add additional alignment |
1.6 |
1768 Update the PI Spec to 1.6 |
1.6 |
1777 Update Revision History |
1.6 |
1778 Update front matter |
1.5A |
1587 pre permanent memory page allocation |
1.5A |
1665 Incorrect status code for an AP calling EFI_MP_SERVICES_PROTOCOL.SwitchBSP() |
1.5A |
1734 Outdated EFI spec reference in Save State Write |
1.5A |
1735 Several copy & paste errors in Save State Write |
1.5A |
1747 Clarify that MM_ACCESS_PROTOCOL should cover all MMRAM region used by the platform |
1.5 |
1315 SMM Environment to Support Newer Architecture/Platform Designs |
1.5 |
1317 additional I2C PPI’s (vol5) |
1.5 |
1321 ARM Extensions to Volume 4 |
1.5 |
1330 Add PPI to allow SEC pass HOBs into PEI |
1.5 |
1336 Provide For Pre-DXE Initialization Of The SM Foundation |
1.5 |
1369 Handling PEI PPI descriptor notifications from SEC |
1.5 |
1387 Variable services errors not consistent |
1.5 |
1390 SM stand-alone infrastructure |
1.5 |
1396 Update SEC HOB Capabilities of 1330 with additional guidance |
1.5 |
1413 Communicate protocol enhancements |
1.5 |
1506 New MP protocol |
1.5 |
1513 Need a way to propagate PEI-phase FV verification status to DXE |
1.5 |
1563 Update MM PPIs to match existing implementations |
1.5 |
1566 PI.next - update the specification revisions |
1.5 |
1568 Add SD/MMC GUID to DiskInfo protocol |
1.5 |
1592 Add EFI_FV_FILETYPE_SMM_CORE_STANDALONE file type |
1.5 |
1593 coalesce language enhancements |
1.5 |
1594 Pei GetVaiable M1387 issue |
1.5 |
1595 M1568 Disk Info issue |
1.5 |
1596 M1489 GCD issue |
1.5 |
1603 Minor erratas in Vol4 PI 1.5 draft related to ECR 0001506 |
1.5 |
1607 Update MM guid def’n to match edkII impl |
1.5 |
1626 Add new Status Code for BDS Attempting UEFI BootOrder entries |
1.5 |
1628 Minor feedback for PI 1.5 Vol 4 SMM Draft |
1.5 |
1666 Graphics Device Info Hob |
1.4A |
1574 Fix artificial limitation in the PCD.SetSku support |
1.4A |
1565 Update status code to include AArch64 exception error codes |
1.4A |
1564 SMM Software Dispatch Protocol Errata |
1.4A |
1562 Errata to remove statement from DXE vol about PEI dispatch behavior |
1.4A |
1561 Errata to provide Equivalent of DXE-CIS Mantis 247 for the PEI-CIS |
1.4A |
1532 Allow S3 Resume without having installed permanent memory (via InstallPeiMemory) |
1.4A |
1530 errata on dxe report status code |
1.4A |
1529 address space granularity errata |
1.4A |
1525 PEI Services Table Retrieval for AArch64 |
1.4A |
1515 EFI_PEIM_NOTIFY_ENTRY_POINT return values are undefined |
1.4A |
1497 Fixing language in SMMStartupThisAP |
1.4A |
1489 GCD Conflict errata |
1.4A |
1485 Minor Errata in SMM Vo2 description of SMMStartupThisAP |
1.4A |
1397 PEI 1.4 specification revision errata |
1.4A |
1394 Errata to Relax requirements on CPU rendez in SEC |
1.4A |
1351 EndOfDxe and SmmReadyToLock |
1.4A |
1322 Minor Updates to handle Asynchronous CPU Entry Into SMM |
1.4 |
1210 Adding persistence attribute to GCD |
1.4 |
1235 PI.Next Feature - no execute support |
1.4 |
1236 PI.Next feature - Graphics PPI |
1.4 |
1237 PI.Next feature - add reset2 PPI |
1.4 |
1239 PI.Next feature - Disk Info Guid UFS |
1.4 |
1240 PI.Next feature - Recovery Block IO PPI - UFS |
1.4 |
1259 PI.Next feature - MP PPI |
1.4 |
1273 PI.Next feature - capsule PPI |
1.4 |
1274 Recovery Block I/O PPI Update |
1.4 |
1275 GetMemoryMap Update |
1.4 |
1277 PI1.next feature - multiple CPU health info |
1.4 |
1278 PI1.next - Memory relative reliability definition |
1.4 |
1305 PI1.next - specification number encoding |
1.4 |
1331 Remove left-over Boot Firmware Volume references in the SEC Platform Information PPI |
1.4 |
1366 PI 1.4 draft - M1277 issue BIST / CPU. So health record needs to be indexed / CPU. |
1.3A |
1041 typo in HOB Overview |
1.3A |
1067 PI1.3 Errata for SetBootMode |
1.3A |
1068 Updates to PEI Service table/M1006 |
1.3A |
1069 SIO Errata - pnp end node definition |
1.3A |
1070 Typo in SIO chapter |
1.3A |
1072 Errata – SMM register protocol notify clarification/errata |
1.3A |
1093 Extended File Size Errata |
1.3A |
1095 typos/errata |
1.3A |
1097 PI SMM GPI Errata |
1.3A |
1098 Errata on I2C IO status code |
1.3A |
1099 I2C Protocol stop behavior errata |
1.3A |
1104 ACPI System Description Table Protocol Errata |
1.3A |
1105 ACPI errata - supported table revision |
1.3A |
1177 PI errata - make CPU IO optional |
1.3A |
1178 errata - allow PEI to report an additional memory type |
1.3A |
1283 Errata - clarify sequencing of events |
1.3 |
945 Integrated Circuit (I2C) Bus Protocol |
1.3 |
998 PI Status Code additions |
1.3 |
999 PCI enumeration complete GUID |
1.3 |
1005 NVMe Disk Info guid |
1.3 |
1006 Security Ppi Fixes |
1.3 |
1025 PI table revisions |
1.2.1A |
922 Add a “Boot with Manufacturing” boot mode setting |
1.2.1A |
925 Errata on signed FV/Files |
1.2.1A |
931 DXE Volume 2 - Clarify memory map construction from the GCD |
1.2.1A |
936 Clarify memory usage in PEI on S3 |
1.2.1A |
937SMM report protocol notify issue errata |
1.2.1A |
951 Root Handler Processing by SmiManage |
1.2.1A |
958 Omissions in PI1.2.1 integration for M816 and M894 |
1.2.1A |
969 Vol 1 errata: TE Header parameters |
1.2.1 |
527 PI Volume 2 DXE Security Architecture Protocol (SAP) clarification |
1.2.1 |
562 Add SetMemoryCapabilities to GCD interface |
1.2.1 |
719 End of DXE event |
1.2.1 |
731 Volume 4 SMM - clarify the meaning of NumberOfCpus |
1.2.1 |
737 Remove SMM Communication ACPI Table definition . |
1.2.1 |
753 SIO PEI and UEFI-Driver Model Architecture |
1.2.1 |
769 Signed PI sections |
1.2.1 |
813 Add a new EFI_GET_PCD_INFO_PROTOCOL and EFI_GET_PCD_INFO_PPI instance. |
1.2.1 |
818 New SAP2 return code |
1.2.1 |
822 Method to disable Temporary RAM when Temp RAM Migration is not required |
1.2.1 |
833 Method to Reserve Interrupt and Exception Vectors |
1.2.1 |
839 Add support for weakly aligned FVs |
1.2.1 |
892 EFI_PCI_ENUMERATION_COMPLETE_GUID Protocol |
1.2.1 |
894 SAP2 Update |
1.2.1 |
895 Status Code Data Structures Errata |
1.2.1 |
902 Errata on signed firmware volume/file |
1.2.1 |
903 SmiManage Update |
1.2.1 |
906 Volume 3 errata - Freeform type |
1.2.1 |
916 Service table revisions |
1.2C |
550 Naming conflicts w/ PI SMM |
1.2C |
571 duplicate definition of EFI_AP_PROCEDURE in DXE MP (volume2) and SMM (volume 4) |
1.2C |
654 UEFI PI specific handle for SMBIOS is now available |
1.2C |
688 Status Code errata |
1.2C |
690 Clarify agent in IDE Controller chapter |
1.2C |
691 SMM a priori file and SOR support |
1.2C |
692 Clarify the SMM SW Register API |
1.2C |
694 PEI Temp RAM PPI ambiguity |
1.2C |
703 End of PEI phase PPI publication for the S3 boot mode case |
1.2C |
706 GetPeiServicesTablePointer () changes for the ARM architecture |
1.2C |
714 PI Service Table Versions |
1.2C |
717 PI Extended File Size Errata |
1.2C |
718 PI Extended Header cleanup / Errata |
1.2C |
730 typo in EFI_SMM_CPU_PROTOCOL.ReadSaveState() return code |
1.2C |
737 Remove SMM Communication ACPI Table definition . |
1.2C |
738 Errata to Volume 2 of the PI1.2 specification |
1.2C |
739 Errata for PI SMM Volume 4 Control protocol |
1.2C |
742 Errata for SMBUS chapter in Volume 5 |
1.2C |
743 Errata - PCD_PPI declaration |
1.2C |
745 Errata – PI Firmware Section declarations |
1.2C |
746 Errata - PI status code |
1.2C |
747 Errata - Text for deprecated HOB |
1.2C |
752 Binary Prefix change |
1.2C |
753 SIO PEI and UEFI-Driver Model Architecture |
1.2C |
764 PI Volume 4 SMM naming errata |
1.2C |
775 errata/typo in EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT, Volume 3 |
1.2C |
781 S3 Save State Protocol Errata |
1.2C |
782 Format Insert(), Compare() and Label() as for Write() |
1.2C |
783 TemporaryRamMigration Errata |
1.2C |
784 Typos in status code definitions |
1.2C |
787 S3 Save State Protocol Errata 2 |
1.2C |
810 Set Memory Attributes return code clarification |
1.2C |
811 SMBIOS API Clarification |
1.2C |
814 PI SMBIOS Errata |
1.2C |
821Location conflict for EFI_RESOURCE_ATTRIBUTE_xxx_PROTECTABLE #defines |
1.2C |
823 Clarify max length of SMBIOS Strings in SMBIOS Protocol |
1.2C |
824 EFI_SMM_SW_DISPATCH2_PROTOCOL.Register() Errata |
1.2C |
837 ARM Vector table can not support arbitrary 32-bit address |
1.2C |
838 Vol 3 EFI_FVB2_ALIGNMNET_512K should be EFI_FVB2_ALIGNMENT_512K |
1.2C |
840 Vol 3 Table 5 Supported FFS Alignments contains values not supported by FFS |
1.2C |
844 correct references to Platform Initialization Hand-Off Block Specification |
1.2B |
628 ACPI SDT protocol errata |
1.2B |
629 Typos in PCD GetSize() |
1.2B |
630EFI_SMM_PCI_ROOT_BRIDGE_IO_PROTOCOL service clarification |
1.2A |
363 PI volume 1 errata |
1.2A |
365 UEFI Capsule HOB |
1.2A |
381 PI1.1 Errata on EFI_SMM_SAVE_STATE_IO_INFO |
1.2A |
482 One other naming inconsistency in the PCD PPI declaration |
1.2A |
483 PCD Protocol / PPI function name synchronization….. |
1.2A |
496 Boot mode description |
1.2A |
497 Status Code additions |
1.2A |
548 Boot firmware volume clarification |
1.2A |
551 Name conflicts w/ Legacy region |
1.2A |
552 MP services |
1.2A |
553 Update text to PEI |
1.2A |
554 update return code from PEI AllocatePages |
1.2A |
555 Inconsistency in the S3 protocol |
1.2A |
561 Minor update to PCD->SetPointer |
1.2A |
565 CANCEL_CALL_BACK should be CANCEL_CALLBACK |
1.2A |
569 Recovery: EFI_PEI_GET_NUMBER_BLOCK_DEVICES decl has EFI_STATUS w/o return code & errror on stage 3 recovery description |
1.2A |
571 duplicate definition of EFI_AP_PROCEDURE in DXE MP (volume2) and SMM (volume 4) |
1.2A |
581 EFI_HOB_TYPE_LOAD_PEIM ambiguity |
1.2A |
591 ACPI Protocol Name collision |
1.2A |
592 More SMM name conflicts |
1.2A |
593 A couple of ISA I/O clarifications |
1.2A |
594 ATA/ATAPI clarification |
1.2A |
595 SMM driver entry point clarification |
1.2A |
596 Clarify ESAL return codes |
1.2A |
602 SEC->PEI hand-off update |
1.2A |
604 EFI_NOT_SUPPORTED versus EFI_UNSUPPORTED |
1.2A |
345 PI1.0 errata |
1.2A |
468 Issues on proposed PI1.2 ACPI System Description Table Protocol |
1.2A |
492 Add Resource HOB Protectability Attributes |
1.2A |
494 Vol. 2 Appendix A Clean up |
1.2A |
495 Vol 1: update HOB reference |
1.2A |
380 PI1.1 errata from SMM development |
1.2A |
501 Clean Up SetMemoryAttributes() language Per Mantis 489 (from USWG) |
1.2A |
502 Disk info |
1.2A |
503 typo |
1.2A |
504 remove support for fixed address resources |
1.2A |
509 PCI errata – execution phase |
1.2A |
510 PCI errata - platform policy |
1.2A |
511 PIC TE Image clarification/errata |
1.2A |
520 PI Errata |
1.2A |
521Add help text for EFI_PCD_PROTOCOL for GetNextTokenSpace |
1.2A |
525 Itanium ESAL, MCA/INIT/PMI errata |
1.2A |
526 PI SMM errata |
1.2A |
529 PCD issues in Volume 3 of the PI1.2 Specification |
1.2A |
541 Volume 5 Typo |
1.2A |
543 Clarification around usage of FV Extended header |
1.2A |
550 Naming conflicts w/ PI SMM |
1.2 |
407 Comment: additional change to LMA Pseudo-Register |
1.2 |
441 Comment: PI Volume 3, Incorrect Struct Declaration (esp PCD_PPI) |
1.2 |
455 Comment: Errata - Clarification of InstallPeiMemory() |
1.2 |
465 Comment: Errata on PMI interface |
1.2 |
466 Comment: Vol 4 EXTENDED_SAL_PROC definition |
1.2 |
467 Comments: PI1.1 errata |
1.2 |
480 Comment: FIX to PCD_PROTOCOL and PCD_PPI |
1.2 |
401 SMM Volume 4 issue |
1.2 |
402 SMM PI spec issue w.r.t. CRC |
1.2 |
407 Add LMA Pseudo-Register to SMM Save State Protocol |
1.2 |
409 PCD_PROTOCOL Errata |
1.2 |
411 Draft Errata, Volume 5, Section 8 |
1.2 |
412 Comment: PEI_S3_RESUME_PPI should be EFI_PEI_S3_RESUME_PPI |
1.2 |
414 Draft Chapter 7 Comments |
1.2 |
415 Comment: Report Status Code Routers |
1.2 |
416 EFI_CPU_IO_PROTOCOL2 Name should be EFI_CPU_IO2_PROTOCOL |
1.2 |
417 Volume 5, Chapter 4 & 5 order is reversed |
1.2 |
423 Comment: Section 15.2.1 Formatting Issues vol5 |
1.2 |
424 Comments: Volume 5, Appendix A.1 formatting issues |
1.2 |
425 Comment: Formatting in Section 6.1 of Volume 3 |
1.2 |
426 Comments: Volume 2 |
1.2 |
427 Comment: Volume 3, Section 6 |
1.2 |
433 Editorial issues in PI 1.2 draft |
1.2 |
271 Support For Large Firmware Files And Firmware File Sections |
1.2 |
284 CPU I/O protocol update |
1.2 |
286 Legacy Region protocol |
1.2 |
289 Recovery API |
1.2 |
292 PCD Specification Update |
1.2 |
354 ACPI Manipulation Protocol |
1.2 |
355 EFI_SIO_PROTOCOL Errata |
1.2 |
365 UEFI Capsule HOB |
1.2 |
382 IDE Controller Specification |
1.2 |
385 Report Status Code Router Specification |
1.2 |
386 Status Code Specification |
1.1D |
247 Clarification regarding use of dependency expression section types with firmware volume image files |
1.1D |
399 SMBIOS Protocol Errata |
1.1D |
405 PIWG Volume 5 incorrectly refers to EFI_PCI_OVERRIDE_PROTOCOL |
1.1D |
422 TEMPORARY_RAM_SUPPORT_PPI is misnamed |
1.1D |
428 Volume 5 PCI issue |
1.1D |
430 Clarify behavior w/ the FV extended header |
1.1C |
204 Stack HOB update 1.1errata |
1.1C |
225 Correct references from EFI_FIRMWARE_VOLUME_PROTOCOL to EFI_FIRMWARE_VOLUME2_PROTOCOL |
1.1C |
226 Remove references to Framework |
1.1C |
227 Correct protocol name GUIDED_SECTION_EXTRACTION_PROTOCOL |
1.1C |
228 insert”typedef” missing from some typedefs in Volume 3 |
1.1C |
243 Define interface “EFI_PEI_FV_PPI” declaration in PI1.0 FfsFindNextVolume() |
1.1C |
285 Time quality of service in S3 boot script poll operation |
1.1C |
287 Correct MP spec, PIVOLUME 2:Chapter 13.3 and 13.4 - return error language |
1.1C |
290 PI Errata |
1.1C |
305 Remove Datahub reference |
1.1C |
336 SMM Control Protocol update |
1.1C |
345 PI Errata |
1.1C |
353 PI Errata |
1.1C |
360 S3RestoreConfig description is missing |
1.1C |
363 PI Volume 1 Errata |
1.1C |
367 PCI Hot Plug Init errata |
1.1C |
369 Volume 4 Errata |
1.1C |
380 SMM Development errata |
1.1C |
381 Errata on EFI_SMM_SAVE_STATE_IO_INFO |
1.1B |
Revises typographical errors and minor omissions–see Errata for details |
1.1A |
Restore (missing) MP protocol |
1.1 |
M39 (Updates PCI Hostbridge & PCI Platform) |
1.1 |
M41 (Duplicate 167) |
1.1 |
M42 Add the definition of theDXE CIS Capsule AP & Variable AP |
1.1 |
M43 (SMbios) |
1.1 |
M46 (SMM error codes) |
1.1 |
M163 (Add Volume 4–SMM |
1.1 |
M167 (Vol2: adds the DXE Boot Services Protocols–new Chapter 12) |
1.1 |
M179 (S3 boot script) |
1.1 |
M180 (PMI ECR) |
1.1 |
M195 (Remove PMI references from SMM CIS) |
1.1 |
M196 (disposable-section type to the FFS) |
1.0A |
M47 dxe_dispatcher_load_image_behavior |
1.0A |
M48 Make spec more consistent GUID & filename. |
1.0A |
M155 FV_FILE and FV_ONLY: Change subtype number back to th:e original one. |
1.0A |
M171Remove 10 us lower bound restriction for the TickPeriod in the Metronome |
1.0A |
M178 Remove references to tail in file header and made file checksum for the data |
1.0A |
M183 Vol 1-Vol 5: Make spec more consistent. |
1.0A |
M192 Change PAD files to have an undefined GUID file name and update all FV |
1.0 |
Initial public release. |