[edk2-devel] [PATCH v1 2/2] SecurityPkg Tcg: Use SW SMI IO port PCD in Tpm.asl
Guomin Jiang
guomin.jiang at intel.com
Wed Apr 8 01:29:11 UTC 2020
Reviewed-by: Guomin Jiang <guomin.jiang at intel.com>
> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Michael
> Kubacki
> Sent: Tuesday, April 7, 2020 2:34 AM
> To: devel at edk2.groups.io
> Cc: Kun Qin <Kun.Qin at microsoft.com>; Wang, Jian J
> <jian.j.wang at intel.com>; Yao, Jiewen <jiewen.yao at intel.com>; Zhang,
> Chao B <chao.b.zhang at intel.com>
> Subject: [edk2-devel] [PATCH v1 2/2] SecurityPkg Tcg: Use SW SMI IO port
> PCD in Tpm.asl
>
> From: Michael Kubacki <michael.kubacki at microsoft.com>
>
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2416
>
> Replaces the hardcoded value of 0xB2 with a PCD for the SMI port access
> operation region. This allows platforms to customize the IO port value if
> necessary.
>
> Cc: Kun Qin <Kun.Qin at microsoft.com>
> Cc: Jian J Wang <jian.j.wang at intel.com>
> Cc: Jiewen Yao <jiewen.yao at intel.com>
> Cc: Chao Zhang <chao.b.zhang at intel.com>
> Signed-off-by: Michael Kubacki <michael.kubacki at microsoft.com>
> ---
> SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf | 4 ++++
> SecurityPkg/Tcg/Tcg2Smm/Tpm.asl | 18 +++++++++---------
> SecurityPkg/Tcg/TcgSmm/TcgSmm.inf | 4 ++++
> SecurityPkg/Tcg/TcgSmm/Tpm.asl | 17 +++++++++--------
> 4 files changed, 26 insertions(+), 17 deletions(-)
>
> diff --git a/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf
> b/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf
> index e33cbcc49152..2ebf2e05f2ea 100644
> --- a/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf
> +++ b/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf
> @@ -21,6 +21,7 @@
> # This external input must be validated carefully to avoid security issue.
> #
> # Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) Microsoft Corporation.<BR>
> # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -70,6 +71,9 @@
> gEfiSmmVariableProtocolGuid ## CONSUMES
> gEfiAcpiTableProtocolGuid ## CONSUMES
>
> +[FixedPcd]
> + gEfiSecurityPkgTokenSpaceGuid.PcdSmiCommandIoPort ##
> CONSUMES
> +
> [Pcd]
> gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ##
> CONSUMES
> gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ##
> SOMETIMES_CONSUMES
> diff --git a/SecurityPkg/Tcg/Tcg2Smm/Tpm.asl
> b/SecurityPkg/Tcg/Tcg2Smm/Tpm.asl index 7a91708a1a34..95f9d7eae841
> 100644
> --- a/SecurityPkg/Tcg/Tcg2Smm/Tpm.asl
> +++ b/SecurityPkg/Tcg/Tcg2Smm/Tpm.asl
> @@ -4,7 +4,7 @@
>
> Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
> (c)Copyright 2016 HP Development Company, L.P.<BR> -Copyright (c) 2017,
> Microsoft Corporation. All rights reserved. <BR>
> +Copyright (c) Microsoft Corporation.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -41,10 +41,10 @@ DefinitionBlock (
> //
> // Operational region for Smi port access
> //
> - OperationRegion (SMIP, SystemIO, 0xB2, 1)
> + OperationRegion (SMIP, SystemIO, FixedPcdGet16
> + (PcdSmiCommandIoPort), 1)
> Field (SMIP, ByteAcc, NoLock, Preserve)
> {
> - IOB2, 8
> + IOPN, 8
> }
>
> //
> @@ -258,7 +258,7 @@ DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (MCIN, IOB2)
> + Store (MCIN, IOPN)
> }
> }
> Return (0)
> @@ -359,7 +359,7 @@ DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (PPIN, IOB2)
> + Store (PPIN, IOPN)
> Return (FRET)
>
>
> @@ -390,7 +390,7 @@ DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (PPIN, IOB2)
> + Store (PPIN, IOPN)
>
> Store (LPPR, Index (TPM3, 0x01))
> Store (PPRP, Index (TPM3, 0x02)) @@ -422,7 +422,7 @@
> DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (PPIN, IOB2)
> + Store (PPIN, IOPN)
> Return (FRET)
> }
> Case (8)
> @@ -436,7 +436,7 @@ DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (PPIN, IOB2)
> + Store (PPIN, IOPN)
>
> Return (FRET)
> }
> @@ -475,7 +475,7 @@ DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (MCIN, IOB2)
> + Store (MCIN, IOPN)
> Return (MRET)
> }
> Default {BreakPoint}
> diff --git a/SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
> b/SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
> index 29f9c15b0e02..9fac896dde8b 100644
> --- a/SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
> +++ b/SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
> @@ -10,6 +10,7 @@
> # This external input must be validated carefully to avoid security issue.
> #
> # Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) Microsoft Corporation.<BR>
> # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -63,6 +64,9 @@
> gEfiSmmVariableProtocolGuid ## CONSUMES
> gEfiAcpiTableProtocolGuid ## CONSUMES
>
> +[FixedPcd]
> + gEfiSecurityPkgTokenSpaceGuid.PcdSmiCommandIoPort ## CONSUMES
> +
> [Pcd]
> gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid ## CONSUMES
> gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ##
> SOMETIMES_CONSUMES
> diff --git a/SecurityPkg/Tcg/TcgSmm/Tpm.asl
> b/SecurityPkg/Tcg/TcgSmm/Tpm.asl index 739067dbec03..9d5e6ddc110b
> 100644
> --- a/SecurityPkg/Tcg/TcgSmm/Tpm.asl
> +++ b/SecurityPkg/Tcg/TcgSmm/Tpm.asl
> @@ -3,6 +3,7 @@
> and MemoryClear.
>
> Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) Microsoft Corporation.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -41,10 +42,10 @@ DefinitionBlock (
> //
> // Operational region for Smi port access
> //
> - OperationRegion (SMIP, SystemIO, 0xB2, 1)
> + OperationRegion (SMIP, SystemIO, FixedPcdGet16
> + (PcdSmiCommandIoPort), 1)
> Field (SMIP, ByteAcc, NoLock, Preserve)
> {
> - IOB2, 8
> + IOPN, 8
> }
>
> //
> @@ -96,7 +97,7 @@ DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (MCIN, IOB2)
> + Store (MCIN, IOPN)
> }
> }
> Return (0)
> @@ -196,7 +197,7 @@ DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (PPIN, IOB2)
> + Store (PPIN, IOPN)
> Return (FRET)
>
>
> @@ -227,7 +228,7 @@ DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (PPIN, IOB2)
> + Store (PPIN, IOPN)
>
> Store (LPPR, Index (TPM3, 0x01))
> Store (PPRP, Index (TPM3, 0x02)) @@ -255,7 +256,7 @@
> DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (PPIN, IOB2)
> + Store (PPIN, IOPN)
> Return (FRET)
> }
> Case (8)
> @@ -269,7 +270,7 @@ DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (PPIN, IOB2)
> + Store (PPIN, IOPN)
>
> Return (FRET)
> }
> @@ -308,7 +309,7 @@ DefinitionBlock (
> //
> // Trigger the SMI interrupt
> //
> - Store (MCIN, IOB2)
> + Store (MCIN, IOPN)
> Return (MRET)
> }
> Default {BreakPoint}
> --
> 2.16.3.windows.1
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#57044): https://edk2.groups.io/g/devel/message/57044
Mute This Topic: https://groups.io/mt/72818501/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list