[edk2] [PATCH] UefiCpuPkg/CpuMpPei: Correct BIST PPI logic.

Marvin Häuser posted 1 patch 5 years, 9 months ago
Failed in applying to current master (apply log)
UefiCpuPkg/CpuMpPei/CpuBist.c | 22 +++++++++++---------
1 file changed, 12 insertions(+), 10 deletions(-)
[edk2] [PATCH] UefiCpuPkg/CpuMpPei: Correct BIST PPI logic.
Posted by Marvin Häuser 5 years, 9 months ago
Currently, the SecPlatformInformation2 PPI is installed when either
there is none present or the present one doesn't lack data.
Update the logic to only install the SecPlatformInformation2 PPI when
it's not already installed so that an up-to-date PPI remains the only
one and unchanged.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com>
---
 UefiCpuPkg/CpuMpPei/CpuBist.c | 22 +++++++++++---------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/UefiCpuPkg/CpuMpPei/CpuBist.c b/UefiCpuPkg/CpuMpPei/CpuBist.c
index 20728525e2d9..5312d9f01dc8 100644
--- a/UefiCpuPkg/CpuMpPei/CpuBist.c
+++ b/UefiCpuPkg/CpuMpPei/CpuBist.c
@@ -275,18 +275,20 @@ CollectBistDataFromPpi (
     (UINTN) BistInformationSize
     );
 
-  if (SecPlatformInformation2 != NULL && NumberOfData < NumberOfProcessors) {
-    //
-    // Reinstall SecPlatformInformation2 PPI to include new BIST information
-    //
-    Status = PeiServicesReInstallPpi (
-               SecInformationDescriptor,
-               &mPeiSecPlatformInformation2Ppi
-               );
-    ASSERT_EFI_ERROR (Status);
+  if (SecPlatformInformation2 != NULL) {
+    if (NumberOfData < NumberOfProcessors) {
+      //
+      // Reinstall SecPlatformInformation2 PPI to include new BIST information
+      //
+      Status = PeiServicesReInstallPpi (
+                 SecInformationDescriptor,
+                 &mPeiSecPlatformInformation2Ppi
+                 );
+      ASSERT_EFI_ERROR (Status);
+    }
   } else {
     //
-    // Install SecPlatformInformation2 PPI to include new BIST information
+    // Install SecPlatformInformation2 PPI
     //
     Status = PeiServicesInstallPpi (&mPeiSecPlatformInformation2Ppi);
     ASSERT_EFI_ERROR(Status);
-- 
2.18.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] UefiCpuPkg/CpuMpPei: Correct BIST PPI logic.
Posted by Laszlo Ersek 5 years, 9 months ago
On 07/22/18 00:17, Marvin Häuser wrote:
> Currently, the SecPlatformInformation2 PPI is installed when either
> there is none present or the present one doesn't lack data.
> Update the logic to only install the SecPlatformInformation2 PPI when
> it's not already installed so that an up-to-date PPI remains the only
> one and unchanged.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com>
> ---
>  UefiCpuPkg/CpuMpPei/CpuBist.c | 22 +++++++++++---------
>  1 file changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/UefiCpuPkg/CpuMpPei/CpuBist.c b/UefiCpuPkg/CpuMpPei/CpuBist.c
> index 20728525e2d9..5312d9f01dc8 100644
> --- a/UefiCpuPkg/CpuMpPei/CpuBist.c
> +++ b/UefiCpuPkg/CpuMpPei/CpuBist.c
> @@ -275,18 +275,20 @@ CollectBistDataFromPpi (
>      (UINTN) BistInformationSize
>      );
>  
> -  if (SecPlatformInformation2 != NULL && NumberOfData < NumberOfProcessors) {
> -    //
> -    // Reinstall SecPlatformInformation2 PPI to include new BIST information
> -    //
> -    Status = PeiServicesReInstallPpi (
> -               SecInformationDescriptor,
> -               &mPeiSecPlatformInformation2Ppi
> -               );
> -    ASSERT_EFI_ERROR (Status);
> +  if (SecPlatformInformation2 != NULL) {
> +    if (NumberOfData < NumberOfProcessors) {
> +      //
> +      // Reinstall SecPlatformInformation2 PPI to include new BIST information
> +      //
> +      Status = PeiServicesReInstallPpi (
> +                 SecInformationDescriptor,
> +                 &mPeiSecPlatformInformation2Ppi
> +                 );
> +      ASSERT_EFI_ERROR (Status);
> +    }
>    } else {
>      //
> -    // Install SecPlatformInformation2 PPI to include new BIST information
> +    // Install SecPlatformInformation2 PPI
>      //
>      Status = PeiServicesInstallPpi (&mPeiSecPlatformInformation2Ppi);
>      ASSERT_EFI_ERROR(Status);
> 

Looks good to me:

Reviewed-by: Laszlo Ersek <lersek@redhat.com>

but Eric should decide.

Thanks
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] UefiCpuPkg/CpuMpPei: Correct BIST PPI logic.
Posted by Dong, Eric 5 years, 9 months ago
Reviewed-by: Eric Dong <eric.dong@intel.com>

And pushed:

SHA-1: 005c855dc6be0f61f76de0d7ec4a62ee737518d6

* UefiCpuPkg/CpuMpPei: Correct BIST PPI logic.

Currently, the SecPlatformInformation2 PPI is installed when either
there is none present or the present one doesn't lack data.
Update the logic to only install the SecPlatformInformation2 PPI when
it's not already installed so that an up-to-date PPI remains the only
one and unchanged.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>


Thanks,
Eric

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Marvin Häuser
> Sent: Sunday, July 22, 2018 6:17 AM
> To: edk2-devel@lists.01.org
> Cc: lersek@redhat.com; Dong, Eric <eric.dong@intel.com>
> Subject: [edk2] [PATCH] UefiCpuPkg/CpuMpPei: Correct BIST PPI logic.
> 
> Currently, the SecPlatformInformation2 PPI is installed when either there is
> none present or the present one doesn't lack data.
> Update the logic to only install the SecPlatformInformation2 PPI when it's not
> already installed so that an up-to-date PPI remains the only one and
> unchanged.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com>
> ---
>  UefiCpuPkg/CpuMpPei/CpuBist.c | 22 +++++++++++---------
>  1 file changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/UefiCpuPkg/CpuMpPei/CpuBist.c
> b/UefiCpuPkg/CpuMpPei/CpuBist.c index 20728525e2d9..5312d9f01dc8
> 100644
> --- a/UefiCpuPkg/CpuMpPei/CpuBist.c
> +++ b/UefiCpuPkg/CpuMpPei/CpuBist.c
> @@ -275,18 +275,20 @@ CollectBistDataFromPpi (
>      (UINTN) BistInformationSize
>      );
> 
> -  if (SecPlatformInformation2 != NULL && NumberOfData <
> NumberOfProcessors) {
> -    //
> -    // Reinstall SecPlatformInformation2 PPI to include new BIST information
> -    //
> -    Status = PeiServicesReInstallPpi (
> -               SecInformationDescriptor,
> -               &mPeiSecPlatformInformation2Ppi
> -               );
> -    ASSERT_EFI_ERROR (Status);
> +  if (SecPlatformInformation2 != NULL) {
> +    if (NumberOfData < NumberOfProcessors) {
> +      //
> +      // Reinstall SecPlatformInformation2 PPI to include new BIST information
> +      //
> +      Status = PeiServicesReInstallPpi (
> +                 SecInformationDescriptor,
> +                 &mPeiSecPlatformInformation2Ppi
> +                 );
> +      ASSERT_EFI_ERROR (Status);
> +    }
>    } else {
>      //
> -    // Install SecPlatformInformation2 PPI to include new BIST information
> +    // Install SecPlatformInformation2 PPI
>      //
>      Status = PeiServicesInstallPpi (&mPeiSecPlatformInformation2Ppi);
>      ASSERT_EFI_ERROR(Status);
> --
> 2.18.0.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel