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

Table 1 Changes in this release

Revision

Issue # - Description

Affected Content

1.9

2356 Code first - Add more crypto for signed FV and signed section

Section 3.2.1.2, Section 3.2.5.7

1.9

2395 New status code for ManageabilityPkg and Redfish*Pkg

Section 6.7.1, Table 6.6, Section 6.4.1.4.9

1.9

2399 Hot pluggable memory attribute

Section 5.5, Table 5.12

1.9

2400 New protocol to support multiple SPI regions

Section 12.2.7, Section 18.2.38, Section 18.2.39

1.9

2436 Add LoongArch support

Section 5.4.7, Table 6.48, Table 6.72, Section 6.7.4.1

1.9

2446 Update PI spec version to 1.9

Section 3.2.1.2

1.9

Draft spec feedback - Description of LocatePpi()

Section 4.2.3

1.9

2466 - Add RNG PPI to PI Spec

Section 8.3.9.20

1.9

2467 - New MM Communicate header and interfaces

Section 1.5.1, Section 5.7.5, Section 5.7.6, Section 6.4.3, Section 6.4.4

1.9

2485 - Progress code definitions are missing in PI specification

Section 6.7.4.2,

Changes in previous releases

Revision

Issue # - Description

Affected Content

1.8A

2394 SPI driver stack update

Section 18.2.4, Section 18.2.7, Section 18.2.22, Section 18.2.26

1.8A

2396 Update Software Class RISC-V Exception Subclass Error Code definitions

Section 6.7.4.3

1.8A

2397 Clean up PEI Services Table Retrieval for RISC-V

Section 5.4, Section 5.4.1.1, Section 5.4.3, Section 5.4.4, Section 5.4.5, Section 5.4.6

1.8A

2398 Clean up PEI Services Table Retrieval text

Section 5.4, Section 5.4.3, Section 5.4.4, Section 5.4.5, Section 5.4.6

1.8A

2424 Corrections to EFI DELAYED DISPATCH PPI content

Section 8.2.4

1.8

2103 Adding EFI_DELAYED_DISPATCH_FUNCTION definition and explanation

Section 8.2.4

1.8

2119 HOB Update for Memory Ranges Capable of Being Protected by CPU Cryptographic Capabilities

Section 5.5.1

1.8

2147 EFI_RESOURCE_ATTRIBUTE_SP not defined in Resource Descriptor HOB

Section 5.5.1

1.8

2160 MP Services 2 PPI

Section 8.3.9.12

1.8

2161 Introduce unaccepted memory type, Chris Oo and others

Table 9.6, Section 7.2.4.1, Section 5.3.1, Section 5.5.1

1.8

2340 Introduction of EFI_SW_EC_FRAGMENTED_MEMORY_MAP Status Code

Table 6.47, Section 6.7.4.3

1.8

2341 Introduction of EFI_PERIPHERAL_TPM Peripheral Subclass Definition

Table 6.16, Table 6.70, Section 6.7.2

1.8

2351 update PI spec revision

Section 3.2.1

1.7B

2101 Fix DXE_SPECIFICATION_MINOR_REVISION and PEI_SERVICES_REVISION definitions

Section 3.2.1, Section 4.1, Section 3.2, Appendix: Management Mode Backward Compatibility Types

1.7B

2110 Status Code Class definition, incorrect comment on OEM range

Section 6.7

1.7B

2213 Clarify PEI Memory Allocation Rules

Section 11.2.1, Section 11.3.1, Section 11.3.2

1.7B

2364 Inclusive language implementation - added new disclaimer section

Section 1.1

Revision

Issue # - Description

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.