From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by mx.groups.io with SMTP id smtpd.web11.3134.1657765672912952377 for ; Wed, 13 Jul 2022 19:27:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=WHSa4tIw; spf=pass (domain: gmail.com, ip: 209.85.216.50, mailfrom: kuqin12@gmail.com) Received: by mail-pj1-f50.google.com with SMTP id x18-20020a17090a8a9200b001ef83b332f5so6845120pjn.0 for ; Wed, 13 Jul 2022 19:27:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pPU0DdqP41DrPQLs7dgbU+7xMAKeeHjgnwk1StBofuQ=; b=WHSa4tIwEyD0xYdNAh+QnTZEuK+t9XAWHm6ZqMHA3+FqHd/GrEQWCGwkng8nbt8Orq Opl1A1EJhW7nIwU1QZHZfr1x91s417tZrNxz91H7+qz/HaM/9keoV5QFtKX8hmRP19Dz mS4sYS9QtIJh33/wg3bDDi0yhWJOPXZn6rppgiOeKsc7PS5Bj0Onr3bzd4c3COlASBr2 qXO2TD+2SJEilRgu0VIIXq/FGkCJWsgH2n55bWCoYz6L9DpkXxJTjfSYjGLSYEjxm6q1 jjbFWfVpA0aKcYEhz68l9chXoXnjSmvTPNstQwlRSa+MbXhOOFeow7PfcO3OrZ6BIjJr vgQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pPU0DdqP41DrPQLs7dgbU+7xMAKeeHjgnwk1StBofuQ=; b=dZgUyo/+pIRCp3cQ1qpsAtL9/Ljumr/BvvWlPkVTk5oFVIaT2gtjixeAZWQw8cGgzZ 5LslZq/pG9J0lVAx6W8aeAbLd07AyzLlw3dP2++gHMHsGOKOB+N1GFcbxY4f0S60ZYtQ oP5YsccbBF9lnChp3JaMszliStiDn7IlWOhoJ6sG4jI48he/ADezA40I7ggpLwFesMji b7JPwUkJ5ipLdIu/8K9NTrLegKeYKFjSi9G71cjRO/QAWN+UN13H7mSAhIrYuYp6YDBl ypSDroSCFXObmlCtLMWzgSEIOLQYYZRUrRLqCMXP+HMBzh9xPjs8xRYJLyr97izTHXo9 hCJw== X-Gm-Message-State: AJIora/hyYwDy+hNGffTbBadplBuMOY2VSua/Zqhx9booAmIbWAB5eZ3 Xz7eu+RTnTk+SmWpvECR/hXrYAth/sM= X-Google-Smtp-Source: AGRyM1s0mDdvudJIRDs9r5h6wTz78oCn+3CdXYF3aAdF3OlCk/VtqyQ8+0+lxI7AjV/7m+LciHPoVA== X-Received: by 2002:a17:90b:3506:b0:1f0:81a:6477 with SMTP id ls6-20020a17090b350600b001f0081a6477mr13587049pjb.46.1657765672274; Wed, 13 Jul 2022 19:27:52 -0700 (PDT) Return-Path: Received: from localhost.localdomain ([192.182.149.255]) by smtp.gmail.com with ESMTPSA id t68-20020a625f47000000b0052aaf7fdf2esm244014pfb.137.2022.07.13.19.27.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Jul 2022 19:27:52 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Andrew Fish , Leif Lindholm , Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-staging][PATCH v2 1/3] EDK2 Code First: PI Specification: New peripheral subclass for TPM Date: Wed, 13 Jul 2022 19:27:36 -0700 Message-Id: <20220714022738.110-2-kuqin12@gmail.com> X-Mailer: git-send-email 2.37.0.windows.1 In-Reply-To: <20220714022738.110-1-kuqin12@gmail.com> References: <20220714022738.110-1-kuqin12@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Cc: Leif Lindholm Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Kun Qin --- Notes: v2: - Removed PCD replacement changes [Michael Kinney] CodeFirst/BZ3966-SpecChange.md | 59 ++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/CodeFirst/BZ3966-SpecChange.md b/CodeFirst/BZ3966-SpecChange.md new file mode 100644 index 000000000000..bfece823021d --- /dev/null +++ b/CodeFirst/BZ3966-SpecChange.md @@ -0,0 +1,59 @@ +# 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. Updated the default value of `gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice` to `(EFI_PERIPHERAL | 0x000E0000)` for consistency and backwards compatibility outside of SecurityPkg. -- 2.37.0.windows.1