REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3966
This change includes specification update markdown file that describes the proposed PI Specification v1.7 Errata A in detail and potential impact to the existing codebase. Cc: Andrew Fish <af...@apple.com> Cc: Leif Lindholm <l...@nuviainc.com> Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang....@intel.com> Signed-off-by: Kun Qin <kuqi...@gmail.com> --- CodeFirst/BZ3966-SpecChange.md | 60 ++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/CodeFirst/BZ3966-SpecChange.md b/CodeFirst/BZ3966-SpecChange.md new file mode 100644 index 000000000000..8a1541bdd577 --- /dev/null +++ b/CodeFirst/BZ3966-SpecChange.md @@ -0,0 +1,60 @@ +# Title: Introduction of `EFI_PERIPHERAL_TPM` Peripheral Subclass Definition + +## Status: Draft + +## Document: UEFI Platform Initialization Specification Version 1.7 Errata A + +## License + +SPDX-License-Identifier: CC-BY-4.0 + +## Submitter: [TianoCore Community](https://www.tianocore.org) + +## Summary of the change + +Add `EFI_PERIPHERAL_TPM` into Peripheral Subclass definition. + +## Benefits of the change + +Current status code covered various [peripheral subclass definitions](https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Pi/PiStatusCode.h). + +As Trusted Platform Module (TPM) becomes more available on the modern systems, status reports from such peripheral are playing more important roles in anaylzing the secruity state and healthiness of a system. However, peripheral subclass definitions do not cover TPM as of today. + +Standardizing the TPM peripheral subclass definition could facilitate the parsing of peripheral reported errors and avoid potential definition collisions from implementation based subclass usages. + +The request of this change intends to expand definitions of `EFI_PERIPHERAL_**` under Periperhal Subclass definitions to cover the TPM subclass. + +## Impact of the change + +Occupy a new macro definitions of subclass under `Defined Subclasses: User-Accessible Peripheral Class`. + +## Detailed description of the change [normative updates] + +### Specification Changes + +1. In PI Specification v1.7 Errata A: Vol. 3, Table 3-30: Defined Subclasses: User-Accessible Peripheral Class, add one new rows below `EFI_PERIPHERAL_DOCKING` definition and adjust the rest of reserved definitions accordingly: + + | Subclass | Code Name | Description | + | --- | --- | --- | + | Trusted Platform Module | EFI_PERIPHERAL_TPM | The peripheral referred to is a Trusted Platform Module | + | 0x0F–0x7F | Reserved for future use by this specification | | + +1. In PI Specification v1.7 Errata A: Vol. 3, Table 3-84: Defined Subclasses: User-Accessible Peripheral Class, add one new rows below `EFI_PERIPHERAL_DOCKING` definition and adjust the rest of reserved definitions accordingly: + + | Subclass | Code Name | + | --- | --- | + | Trusted Platform Module | EFI_PERIPHERAL_TPM | + | 0x0F–0x7F | Reserved for future use by this specification. | + +1. In PI Specification v1.7 Errata A: Vol. 3, Section 6.7.2.1 Subclass Definitions: Prototype, add one new definitions below `EFI_PERIPHERAL_DOCKING` definition: + + ```c + #define EFI_PERIPHERAL_TPM \ + (EFI_PERIPHERAL | 0x000E0000) + ``` + +### Code Changes + +1. Add macro definitions in `MdePkg/Include/Pi/PiStatusCode.h` to match new specification. +1. Replace existing references of `gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice` from SecurityPkg with new definition. +1. Updated the default value of `gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice` to `(EFI_PERIPHERAL | 0x000E0000)` for consistency and backwards compatibility outside of SecurityPkg. -- 2.35.1.windows.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#91076): https://edk2.groups.io/g/devel/message/91076 Mute This Topic: https://groups.io/mt/92200212/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-