public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Kun Qin" <kuqin12@gmail.com>
To: devel@edk2.groups.io
Cc: Andrew Fish <afish@apple.com>, Leif Lindholm <leif@nuviainc.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Zhiguang Liu <zhiguang.liu@intel.com>
Subject: [edk2-staging][PATCH v1 1/7] EDK2 Code First: PI Specification: New peripheral subclass for TPM
Date: Tue,  5 Jul 2022 20:38:12 -0700	[thread overview]
Message-ID: <20220706033818.1493-2-kuqin12@gmail.com> (raw)
In-Reply-To: <20220706033818.1493-1-kuqin12@gmail.com>

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 <afish@apple.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>

Signed-off-by: Kun Qin <kuqin12@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


  reply	other threads:[~2022-07-06  3:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-06  3:38 [edk2-staging][PATCH v1 0/7] Add TPM subclass definition Kun Qin
2022-07-06  3:38 ` Kun Qin [this message]
2022-07-06  3:38 ` [edk2-staging][PATCH v1 2/7] MdePkg: MmCommunication: Add TPM subclass definition to MdePkg Kun Qin
2022-07-06  3:38 ` [edk2-staging][PATCH v1 3/7] SecurityPkg: Tcg2Dxe: Replace PcdStatusCodeSubClassTpmDevice Kun Qin
2022-07-06  3:38 ` [edk2-staging][PATCH v1 4/7] SecurityPkg: Tcg2Pei: " Kun Qin
2022-07-06  3:38 ` [edk2-staging][PATCH v1 5/7] SecurityPkg: TcgDxe: " Kun Qin
2022-07-06  3:38 ` [edk2-staging][PATCH v1 6/7] SecurityPkg: TcgPei: " Kun Qin
2022-07-06  3:38 ` [edk2-staging][PATCH v1 7/7] SecurityPkg: SubClassTpm: Updated default value Kun Qin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220706033818.1493-2-kuqin12@gmail.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox