[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