Re: [edk2] [patch 1/2] MdeModulePkg/DxeLoadFunc: Add use case for new Perf macro

2018-07-25 Thread Gao, Liming
Reviewed-by: Liming Gao 

> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Dandan 
> Bi
> Sent: Thursday, July 19, 2018 2:44 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star ; Gao, Liming 
> Subject: [edk2] [patch 1/2] MdeModulePkg/DxeLoadFunc: Add use case for new 
> Perf macro
> 
> Add an example case for the usage of
> PERF_EVENT_SIGNAL_BEGIN/PERF_EVENT_SIGNAL_END
> 
> Cc: Liming Gao 
> Cc: Star Zeng 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Dandan Bi 
> ---
>  MdeModulePkg/Core/DxeIplPeim/DxeIpl.h   | 3 ++-
>  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 1 +
>  MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c | 4 
>  3 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.h 
> b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.h
> index 6f8e13d213..9ea88a399b 100644
> --- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.h
> +++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.h
> @@ -1,10 +1,10 @@
>  /** @file
>Master header file for DxeIpl PEIM. All source files in this module should
>include this file for common definitions.
> 
> -Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
> +Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
>  This program and the accompanying materials
>  are licensed and made available under the terms and conditions of the BSD 
> License
>  which accompanies this distribution.  The full text of the license may be 
> found at
>  http://opensource.org/licenses/bsd-license.php
> 
> @@ -46,10 +46,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER 
> EXPRESS OR IMPLIED.
>  #include 
>  #include 
>  #include 
>  #include 
>  #include 
> +#include 
> 
>  #define STACK_SIZE  0x2
>  #define BSP_STORE_SIZE  0x4000
> 
> 
> diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf 
> b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> index 7deeb8f270..302934283a 100644
> --- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> +++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
> @@ -77,10 +77,11 @@
>BaseLib
>PeimEntryPoint
>DebugLib
>DebugAgentLib
>PeiServicesTablePointerLib
> +  PerformanceLib
> 
>  [LibraryClasses.ARM, LibraryClasses.AARCH64]
>ArmMmuLib
> 
>  [Ppis]
> diff --git a/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c 
> b/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
> index d5aa0474b0..8a939b6c24 100644
> --- a/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
> +++ b/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
> @@ -318,11 +318,13 @@ HandOffToDxeCore (
>  PageTables = CreateIdentityMappingPageTables (BaseOfStack, STACK_SIZE);
> 
>  //
>  // End of PEI phase signal
>  //
> +PERF_EVENT_SIGNAL_BEGIN (gEndOfPeiSignalPpi.Guid);
>  Status = PeiServicesInstallPpi ();
> +PERF_EVENT_SIGNAL_END (gEndOfPeiSignalPpi.Guid);
>  ASSERT_EFI_ERROR (Status);
> 
>  AsmWriteCr3 (PageTables);
> 
>  //
> @@ -435,11 +437,13 @@ HandOffToDxeCore (
>  }
> 
>  //
>  // End of PEI phase signal
>  //
> +PERF_EVENT_SIGNAL_BEGIN (gEndOfPeiSignalPpi.Guid);
>  Status = PeiServicesInstallPpi ();
> +PERF_EVENT_SIGNAL_END (gEndOfPeiSignalPpi.Guid);
>  ASSERT_EFI_ERROR (Status);
> 
>  if (BuildPageTablesIa32Pae) {
>AsmWriteCr3 (PageTables);
>//
> --
> 2.14.3.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


[edk2] [patch 1/2] MdeModulePkg/DxeLoadFunc: Add use case for new Perf macro

2018-07-19 Thread Dandan Bi
Add an example case for the usage of
PERF_EVENT_SIGNAL_BEGIN/PERF_EVENT_SIGNAL_END

Cc: Liming Gao 
Cc: Star Zeng 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Dandan Bi 
---
 MdeModulePkg/Core/DxeIplPeim/DxeIpl.h   | 3 ++-
 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 1 +
 MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c | 4 
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.h 
b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.h
index 6f8e13d213..9ea88a399b 100644
--- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.h
+++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.h
@@ -1,10 +1,10 @@
 /** @file
   Master header file for DxeIpl PEIM. All source files in this module should
   include this file for common definitions.
 
-Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
 This program and the accompanying materials
 are licensed and made available under the terms and conditions of the BSD 
License
 which accompanies this distribution.  The full text of the license may be 
found at
 http://opensource.org/licenses/bsd-license.php
 
@@ -46,10 +46,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER 
EXPRESS OR IMPLIED.
 #include 
 #include 
 #include 
 #include 
 #include 
+#include 
 
 #define STACK_SIZE  0x2
 #define BSP_STORE_SIZE  0x4000
 
 
diff --git a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf 
b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
index 7deeb8f270..302934283a 100644
--- a/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
+++ b/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
@@ -77,10 +77,11 @@
   BaseLib
   PeimEntryPoint
   DebugLib
   DebugAgentLib
   PeiServicesTablePointerLib
+  PerformanceLib
 
 [LibraryClasses.ARM, LibraryClasses.AARCH64]
   ArmMmuLib
 
 [Ppis]
diff --git a/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c 
b/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
index d5aa0474b0..8a939b6c24 100644
--- a/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
+++ b/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
@@ -318,11 +318,13 @@ HandOffToDxeCore (
 PageTables = CreateIdentityMappingPageTables (BaseOfStack, STACK_SIZE);
 
 //
 // End of PEI phase signal
 //
+PERF_EVENT_SIGNAL_BEGIN (gEndOfPeiSignalPpi.Guid);
 Status = PeiServicesInstallPpi ();
+PERF_EVENT_SIGNAL_END (gEndOfPeiSignalPpi.Guid);
 ASSERT_EFI_ERROR (Status);
 
 AsmWriteCr3 (PageTables);
 
 //
@@ -435,11 +437,13 @@ HandOffToDxeCore (
 }
 
 //
 // End of PEI phase signal
 //
+PERF_EVENT_SIGNAL_BEGIN (gEndOfPeiSignalPpi.Guid);
 Status = PeiServicesInstallPpi ();
+PERF_EVENT_SIGNAL_END (gEndOfPeiSignalPpi.Guid);
 ASSERT_EFI_ERROR (Status);
 
 if (BuildPageTablesIa32Pae) {
   AsmWriteCr3 (PageTables);
   //
-- 
2.14.3.windows.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel