public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 00/12] Add SmiHandlerProfile feature
@ 2017-02-08 16:30 Jiewen Yao
  2017-02-08 16:30 ` [PATCH 01/12] MdePkg/Include: Add SmiHandlerProfileLib.h Jiewen Yao
                   ` (10 more replies)
  0 siblings, 11 replies; 20+ messages in thread
From: Jiewen Yao @ 2017-02-08 16:30 UTC (permalink / raw)
  To: edk2-devel
  Cc: Michael D Kinney, Liming Gao, Feng Tian, Star Zeng, Laszlo Ersek

This series patch add SMI handler profile.

The purpose of SMI handler profile is to add the capability to
dump all SMI handlers produced by the firmware in a given boot.
The SMI handlers here include
1) Root SMI handlers registered with SMST->SmiHandlerRegister by SmmCore.
2) GUID SMI handlers registered with SMST->SmiHandlerRegister by SmmCore.
3) Hardware SMI handlers registered with SMM_XXX_DISPATCH_PROTOCOL->Register
by SmmChildDispatcher module.

The final log is an XML format log, including all SMM image name, all SMI
handlers name, type, location (source file and line number), and the caller
who registeres the handler.

We enabled Quark platform to show how to add support in SmmChildDispatcher.

NOTE: This SMI handler profile is a *DEBUG* feature only, to help platform
developer or test engineer to audit the SMI handlers. Please do not include
it in the final *RELEASE* image.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>

Jiewen Yao (12):
  MdePkg/Include: Add SmiHandlerProfileLib.h
  MdePkg/SmiHandlerProfileLibNull: Add NULL instance.
  MdePkg/dsc: add SmiHandlerProfileLib to dsc.
  MdeModulePkg/include: Add SmiHandlerProfile header file.
  MdeModulePkg/dec: Add PcdSmiHandlerProfilePropertyMask.
  MdeModulePkg/SmmSmiHandlerProfileLib: Add SMM instance.
  MdeModulePkg/PiSmmCore: Add SmiHandlerProfile support.
  MdeModulePkg/App: Add SmiHandlerProfile dump app.
  MdeModulePkg/dsc: add SmiHandlerProfile to dsc.
  BaseTool/Script: Add SmiHandleProfile OS tool to get symbol.
  QuarkSocPkg/SmmChildDispatch: Add SmiHandlerProfile support.
  QuarkPlatformPkg: enable SmiHandlerProfile.

 BaseTools/Scripts/SmiHandlerProfileSymbolGen.py                                |  351 ++++++
 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c         |  685 +++++++++++
 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.inf       |   65 +
 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.uni       |   22 +
 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfoExtra.uni  |   19 +
 MdeModulePkg/Core/PiSmmCore/PiSmmCore.c                                        |    4 +-
 MdeModulePkg/Core/PiSmmCore/PiSmmCore.h                                        |   89 +-
 MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf                                      |   17 +-
 MdeModulePkg/Core/PiSmmCore/Smi.c                                              |   46 +-
 MdeModulePkg/Core/PiSmmCore/SmiHandlerProfile.c                                | 1261 ++++++++++++++++++++
 MdeModulePkg/Include/Guid/SmiHandlerProfile.h                                  |  177 +++
 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.c         |  106 ++
 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.inf       |   46 +
 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.uni       |   21 +
 MdeModulePkg/MdeModulePkg.dec                                                  |   11 +-
 MdeModulePkg/MdeModulePkg.dsc                                                  |    2 +
 MdePkg/Include/Library/SmiHandlerProfileLib.h                                  |   81 ++
 MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.c             |   72 ++
 MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.inf           |   36 +
 MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.uni           |   21 +
 MdePkg/MdePkg.dec                                                              |    5 +-
 MdePkg/MdePkg.dsc                                                              |    3 +-
 QuarkPlatformPkg/Quark.dsc                                                     |   16 +-
 QuarkPlatformPkg/Quark.fdf                                                     |    3 +-
 QuarkPlatformPkg/QuarkMin.dsc                                                  |    5 +-
 QuarkPlatformPkg/Readme.md                                                     |   29 +-
 QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNCSmmCore.c         |   19 +-
 QuarkSocPkg/QuarkNorthCluster/Smm/DxeSmm/QncSmmDispatcher/QNCSmmDispatcher.inf |    3 +-
 28 files changed, 3159 insertions(+), 56 deletions(-)
 create mode 100644 BaseTools/Scripts/SmiHandlerProfileSymbolGen.py
 create mode 100644 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c
 create mode 100644 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.inf
 create mode 100644 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.uni
 create mode 100644 MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfoExtra.uni
 create mode 100644 MdeModulePkg/Core/PiSmmCore/SmiHandlerProfile.c
 create mode 100644 MdeModulePkg/Include/Guid/SmiHandlerProfile.h
 create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.c
 create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.inf
 create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.uni
 create mode 100644 MdePkg/Include/Library/SmiHandlerProfileLib.h
 create mode 100644 MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.c
 create mode 100644 MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.inf
 create mode 100644 MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.uni

-- 
2.7.4.windows.1



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

end of thread, other threads:[~2017-02-22  6:48 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-08 16:30 [PATCH 00/12] Add SmiHandlerProfile feature Jiewen Yao
2017-02-08 16:30 ` [PATCH 01/12] MdePkg/Include: Add SmiHandlerProfileLib.h Jiewen Yao
2017-02-10  3:28   ` Gao, Liming
2017-02-08 16:30 ` [PATCH 02/12] MdePkg/SmiHandlerProfileLibNull: Add NULL instance Jiewen Yao
2017-02-10  3:29   ` Gao, Liming
2017-02-10  4:38     ` Yao, Jiewen
2017-02-08 16:30 ` [PATCH 03/12] MdePkg/dsc: add SmiHandlerProfileLib to dsc Jiewen Yao
2017-02-08 16:30 ` [PATCH 04/12] MdeModulePkg/include: Add SmiHandlerProfile header file Jiewen Yao
2017-02-08 16:30 ` [PATCH 05/12] MdeModulePkg/dec: Add PcdSmiHandlerProfilePropertyMask Jiewen Yao
2017-02-08 16:30 ` [PATCH 06/12] MdeModulePkg/SmmSmiHandlerProfileLib: Add SMM instance Jiewen Yao
2017-02-08 16:30 ` [PATCH 07/12] MdeModulePkg/PiSmmCore: Add SmiHandlerProfile support Jiewen Yao
2017-02-08 16:30 ` [PATCH 08/12] MdeModulePkg/App: Add SmiHandlerProfile dump app Jiewen Yao
2017-02-08 16:30 ` [PATCH 09/12] MdeModulePkg/dsc: add SmiHandlerProfile to dsc Jiewen Yao
2017-02-08 17:34 ` [PATCH 00/12] Add SmiHandlerProfile feature Laszlo Ersek
     [not found]   ` <BF2CCE9263284D428840004653A28B6E53F5E3BC@SHSMSX103.ccr.corp.intel.com>
2017-02-08 17:57     ` Yao, Jiewen
2017-02-08 18:28       ` Laszlo Ersek
2017-02-08 18:37         ` Yao, Jiewen
2017-02-21  7:06       ` Yao, Jiewen
2017-02-21  8:47         ` Laszlo Ersek
2017-02-22  6:48 ` Zeng, Star

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