public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1] MinPlatformPkg/Test: Update to consume SpeculationBarrier
@ 2018-12-25  1:23 Hao Wu
  2018-12-25  5:04 ` Yao, Jiewen
  0 siblings, 1 reply; 2+ messages in thread
From: Hao Wu @ 2018-12-25  1:23 UTC (permalink / raw)
  To: edk2-devel; +Cc: Hao Wu, Michael A Kubacki, Jiewen Yao

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1417

Since BaseLib API AsmLfence() is a x86 arch specific API and should be
avoided using in generic codes, this commit replaces the usage of
AsmLfence() with arch-generic API SpeculationBarrier().

Cc: Michael A Kubacki <michael.a.kubacki@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
 Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTestPointCheckLib.c | 6 +++---
 Platform/Intel/MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointCommunication.c | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTestPointCheckLib.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTestPointCheckLib.c
index dc40dae6d5..2d051bb6bb 100644
--- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTestPointCheckLib.c
+++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTestPointCheckLib.c
@@ -376,11 +376,11 @@ TestPointSmmReadyToBootSmmPageProtectionHandler (
 
   if (CommData->UefiMemoryMapSize != 0) {
     //
-    // The AsmLfence() call here is to ensure the previous range/content checks
-    // for the CommBuffer (copied in to CommData) have been completed before
+    // The SpeculationBarrier() call here is to ensure the previous range/content
+    // checks for the CommBuffer (copied in to CommData) have been completed before
     // calling into TestPointCheckSmmCommunicationBuffer().
     //
-    AsmLfence ();
+    SpeculationBarrier ();
     Result = TRUE;
 
     Status = TestPointCheckSmmCommunicationBuffer (
diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointCommunication.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointCommunication.c
index b4757da046..d2387f6244 100644
--- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointCommunication.c
+++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointCommunication.c
@@ -253,11 +253,11 @@ SmmTestPointSmiHandlerGetDataByOffset (
   }
 
   //
-  // The AsmLfence() call here is to ensure the previous range/content checks
-  // for the CommBuffer have been completed before calling into
+  // The SpeculationBarrier() call here is to ensure the previous range/content
+  // checks for the CommBuffer have been completed before calling into
   // SmiHandlerTestPointCopyData().
   //
-  AsmLfence ();
+  SpeculationBarrier ();
   SmiHandlerTestPointCopyData (
     Data,
     DataSize,
-- 
2.12.0.windows.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v1] MinPlatformPkg/Test: Update to consume SpeculationBarrier
  2018-12-25  1:23 [PATCH v1] MinPlatformPkg/Test: Update to consume SpeculationBarrier Hao Wu
@ 2018-12-25  5:04 ` Yao, Jiewen
  0 siblings, 0 replies; 2+ messages in thread
From: Yao, Jiewen @ 2018-12-25  5:04 UTC (permalink / raw)
  To: Wu, Hao A, edk2-devel@lists.01.org; +Cc: Kubacki, Michael A

Reviewed-by: Jiewen.yao@intel.com

> -----Original Message-----
> From: Wu, Hao A
> Sent: Tuesday, December 25, 2018 9:24 AM
> To: edk2-devel@lists.01.org
> Cc: Wu, Hao A <hao.a.wu@intel.com>; Kubacki, Michael A
> <michael.a.kubacki@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>
> Subject: [PATCH v1] MinPlatformPkg/Test: Update to consume
> SpeculationBarrier
> 
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1417
> 
> Since BaseLib API AsmLfence() is a x86 arch specific API and should be
> avoided using in generic codes, this commit replaces the usage of
> AsmLfence() with arch-generic API SpeculationBarrier().
> 
> Cc: Michael A Kubacki <michael.a.kubacki@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Hao Wu <hao.a.wu@intel.com>
> ---
> 
> Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTestPo
> intCheckLib.c | 6 +++---
> 
> Platform/Intel/MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointCo
> mmunication.c | 6 +++---
>  2 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTest
> PointCheckLib.c
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTest
> PointCheckLib.c
> index dc40dae6d5..2d051bb6bb 100644
> ---
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTest
> PointCheckLib.c
> +++
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/SmmTest
> PointCheckLib.c
> @@ -376,11 +376,11 @@
> TestPointSmmReadyToBootSmmPageProtectionHandler (
> 
>    if (CommData->UefiMemoryMapSize != 0) {
>      //
> -    // The AsmLfence() call here is to ensure the previous range/content
> checks
> -    // for the CommBuffer (copied in to CommData) have been completed
> before
> +    // The SpeculationBarrier() call here is to ensure the previous
> range/content
> +    // checks for the CommBuffer (copied in to CommData) have been
> completed before
>      // calling into TestPointCheckSmmCommunicationBuffer().
>      //
> -    AsmLfence ();
> +    SpeculationBarrier ();
>      Result = TRUE;
> 
>      Status = TestPointCheckSmmCommunicationBuffer (
> diff --git
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointC
> ommunication.c
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointC
> ommunication.c
> index b4757da046..d2387f6244 100644
> ---
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointC
> ommunication.c
> +++
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointLib/SmmTestPointC
> ommunication.c
> @@ -253,11 +253,11 @@ SmmTestPointSmiHandlerGetDataByOffset (
>    }
> 
>    //
> -  // The AsmLfence() call here is to ensure the previous range/content
> checks
> -  // for the CommBuffer have been completed before calling into
> +  // The SpeculationBarrier() call here is to ensure the previous
> range/content
> +  // checks for the CommBuffer have been completed before calling into
>    // SmiHandlerTestPointCopyData().
>    //
> -  AsmLfence ();
> +  SpeculationBarrier ();
>    SmiHandlerTestPointCopyData (
>      Data,
>      DataSize,
> --
> 2.12.0.windows.1



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-12-25  5:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-25  1:23 [PATCH v1] MinPlatformPkg/Test: Update to consume SpeculationBarrier Hao Wu
2018-12-25  5:04 ` Yao, Jiewen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox