public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64
@ 2020-12-18 18:49 Kun Qin
  2020-12-19  3:58 ` [edk2-devel] " Yao, Jiewen
  0 siblings, 1 reply; 4+ messages in thread
From: Kun Qin @ 2020-12-18 18:49 UTC (permalink / raw)
  To: devel
  Cc: Jian J Wang, Hao A Wu, Eric Dong, Dandan Bi, Liming Gao,
	Michael D Kinney, Zhiguang Liu, Ray Ni, Jiewen Yao, Qi Zhang,
	Rahul Kumar, Ard Biesheuvel, Sami Mujawar, Supreeth Venkatesh,
	Laszlo Ersek

Current MM_STANDALONE type modules are largely focusing on AArch64
systems, which presents certain gaps to compile or run StandaloneMm on
X64 system.

This patch series extended support for MM_STANDALONE type modules to
build and run on X64 systems by creating new instances of drivers and
libraries.

A few minor build time bugs related to this effort are also fixed.

Patch v1 branch: https://github.com/kuqin12/edk2/tree/standalone_x64_v1

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Qi Zhang <qi1.zhang@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
Cc: Laszlo Ersek <lersek@redhat.com>

Kun Qin (15):
  StandaloneMmPkg: StandaloneMmCoreEntryPoint: Extends support for X64
  StandaloneMmPkg: StandaloneMmCoreHobLib: Extend support for x64 Mm
    Core
  StandaloneMmPkg: StandaloneMmCoreMemoryAllocationLib: Fix compiler
    warning
  StandaloneMmPkg: StandaloneMmMemLib: Extends support for X64
    architecture
  MdeModulePkg: SmmLockBoxSmmLib: Support StandaloneMm for SmmLockBoxLib
  MdeModulePkg: SmmReportStatusCodeLib: ReportStatusCodeLib in
    StandaloneMm
  MdeModulePkg: FirmwarePerformanceDataTable: Added StandaloneMm support
  MdeModulePkg: ReportStatusCodeRouter: Support StandaloneMm RSC Router
  MdePkg: UefiDevicePathLib: Support UefiDevicePathLib under
    StandaloneMm
  PcAtChipsetPkg: AcpiTimerLib: Added StandaloneMm instance of
    AcpiTimerLib
  SecurityPkg: Tcg2PhysicalPresenceLib: Introduce StandaloneMm instance
  SecurityPkg: Tcg2PpVendorLibNull: Added support for MM_STANDALONE type
  SecurityPkg: Tpm2DeviceLibDTpm: Introduce StandaloneMm instance
  UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm
  UefiCpuPkg: SmmCpuExceptionHandlerLib: Added StandaloneMm module
    support

 MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.c => SmmLockBoxMmLib.c}                                                    |  77 ++--
 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxStandaloneMmLib.c                                                                  |  53 +++
 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxTraditionalMmLib.c                                                                 |  53 +++
 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.c                                                               |  16 +-
 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibStandaloneMm.c                                                   |  39 ++
 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibTraditional.c                                                    |  39 ++
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{FirmwarePerformanceSmm.c => FirmwarePerformanceCommon.c}           |  72 ++--
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceStandaloneMm.c                                   |  62 +++
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceTraditional.c                                    |  62 +++
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCodeRouterSmm.c => ReportStatusCodeRouterCommon.c}               |  43 +-
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.c                                          |  33 ++
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterTraditional.c                                           |  33 ++
 MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c                                                                          |  33 --
 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c                                                                    |  51 +++
 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c                                                              |  40 ++
 PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c => CommonAcpiTimerLib.c}                                                 |   8 +-
 PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c                                                                           |  81 +---
 PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneAcpiTimerLib.c                                                                    |  31 ++
 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPresenceLib.c => MmTcg2PhysicalPresenceLibCommon.c}              |  29 +-
 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresenceLib.c                                                     | 368 +----------------
 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/StandaloneMmTcg2PhysicalPresenceLib.c                                            |  42 ++
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.c                                                                       |  42 +-
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmBase.c                                                                   |  69 ++++
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmStandaloneMm.c                                                           |  67 +++
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.c                                                                     |  40 +-
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c                                                                                 |  15 +-
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/StandaloneMmCoreEntryPoint.c                                             |  71 ++++
 StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ => AArch64}/StandaloneMmCoreHobLib.c                                           |   6 +-
 StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ => X64}/StandaloneMmCoreHobLib.c                                               | 426 ++++++++++----------
 StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.c                               |   2 +-
 StandaloneMmPkg/Library/StandaloneMmMemLib/X64/StandaloneMmMemLibInternal.c                                                     |  67 +++
 UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Common.c}                                                                            |  14 +-
 UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.c                                                                                                | 384 +-----------------
 UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c                                                                                       |  31 ++
 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxLibPrivate.h                                                                       |  27 ++
 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf                                                                         |  15 +-
 MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.inf => SmmLockBoxStandaloneMmLib.inf}                                      |  26 +-
 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.h                                                               |  37 ++
 MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf                                                          |   4 +-
 MdeModulePkg/Library/SmmReportStatusCodeLib/{SmmReportStatusCodeLib.inf => StandaloneMmReportStatusCodeLib.inf}                 |  17 +-
 MdeModulePkg/MdeModulePkg.dsc                                                                                                   |   6 +
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceCommon.h                                         |  55 +++
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf                                          |  11 +-
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{FirmwarePerformanceSmm.inf => FirmwarePerformanceStandaloneMm.inf} |  31 +-
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCodeRouterSmm.h => ReportStatusCodeRouterCommon.h}               |  50 ++-
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf                                                 |  13 +-
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.inf                                        |  49 +++
 MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf                                                                          |   1 +
 MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.inf                                                |   1 +
 MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLib.inf => UefiDevicePathLibStandaloneMm.inf}                                   |  11 +-
 MdePkg/MdePkg.dsc                                                                                                               |   1 +
 PcAtChipsetPkg/Library/AcpiTimerLib/CommonAcpiTimerLib.h                                                                        |  25 ++
 PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf                                                                         |   2 +
 PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf => StandaloneAcpiTimerLib.inf}                                         |  19 +-
 PcAtChipsetPkg/PcAtChipsetPkg.dsc                                                                                               |   1 +
 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/MmTcg2PhysicalPresenceLibCommon.h                                                |  35 ++
 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresenceLib.inf                                                   |   6 +-
 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPresenceLib.inf => StandaloneMmTcg2PhysicalPresenceLib.inf}      |  22 +-
 SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf                                                                 |   2 +-
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.h                                                                       |  68 ++++
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf                                                                     |   3 +
 SecurityPkg/Library/Tpm2DeviceLibDTpm/{Tpm2DeviceLibDTpm.inf => Tpm2DeviceLibDTpmStandaloneMm.inf}                              |  13 +-
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf                                                                   |   3 +
 SecurityPkg/SecurityPkg.dsc                                                                                                     |   3 +
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf                                               |   3 +
 StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf                                                       |   8 +-
 StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf                                                               |   6 +-
 UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.h => CpuIo2Common.h}                                                                            |  18 +-
 UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf                                                                                              |   7 +-
 UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf}                                                                  |  23 +-
 UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf                                                         |   2 +-
 UefiCpuPkg/UefiCpuPkg.dsc                                                                                                       |   6 +
 72 files changed, 1704 insertions(+), 1425 deletions(-)
 rename MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.c => SmmLockBoxMmLib.c} (89%)
 create mode 100644 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxStandaloneMmLib.c
 create mode 100644 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxTraditionalMmLib.c
 create mode 100644 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibStandaloneMm.c
 create mode 100644 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibTraditional.c
 rename MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{FirmwarePerformanceSmm.c => FirmwarePerformanceCommon.c} (77%)
 create mode 100644 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceStandaloneMm.c
 create mode 100644 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceTraditional.c
 rename MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCodeRouterSmm.c => ReportStatusCodeRouterCommon.c} (80%)
 create mode 100644 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.c
 create mode 100644 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterTraditional.c
 create mode 100644 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c
 create mode 100644 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c
 copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c => CommonAcpiTimerLib.c} (86%)
 create mode 100644 PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneAcpiTimerLib.c
 copy SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPresenceLib.c => MmTcg2PhysicalPresenceLibCommon.c} (91%)
 create mode 100644 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/StandaloneMmTcg2PhysicalPresenceLib.c
 create mode 100644 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmBase.c
 create mode 100644 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmStandaloneMm.c
 create mode 100644 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/StandaloneMmCoreEntryPoint.c
 copy StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ => AArch64}/StandaloneMmCoreHobLib.c (96%)
 rename StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ => X64}/StandaloneMmCoreHobLib.c (70%)
 create mode 100644 StandaloneMmPkg/Library/StandaloneMmMemLib/X64/StandaloneMmMemLibInternal.c
 copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Common.c} (94%)
 create mode 100644 UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c
 copy MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.inf => SmmLockBoxStandaloneMmLib.inf} (52%)
 create mode 100644 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.h
 copy MdeModulePkg/Library/SmmReportStatusCodeLib/{SmmReportStatusCodeLib.inf => StandaloneMmReportStatusCodeLib.inf} (64%)
 create mode 100644 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceCommon.h
 copy MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{FirmwarePerformanceSmm.inf => FirmwarePerformanceStandaloneMm.inf} (65%)
 rename MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCodeRouterSmm.h => ReportStatusCodeRouterCommon.h} (70%)
 create mode 100644 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.inf
 copy MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLib.inf => UefiDevicePathLibStandaloneMm.inf} (79%)
 create mode 100644 PcAtChipsetPkg/Library/AcpiTimerLib/CommonAcpiTimerLib.h
 copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf => StandaloneAcpiTimerLib.inf} (70%)
 create mode 100644 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/MmTcg2PhysicalPresenceLibCommon.h
 copy SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPresenceLib.inf => StandaloneMmTcg2PhysicalPresenceLib.inf} (64%)
 create mode 100644 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.h
 copy SecurityPkg/Library/Tpm2DeviceLibDTpm/{Tpm2DeviceLibDTpm.inf => Tpm2DeviceLibDTpmStandaloneMm.inf} (70%)
 rename UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.h => CpuIo2Common.h} (92%)
 copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf} (56%)

-- 
2.28.0.windows.1


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

* Re: [edk2-devel] [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64
  2020-12-18 18:49 [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64 Kun Qin
@ 2020-12-19  3:58 ` Yao, Jiewen
  2020-12-19  9:38   ` Kun Qin
  0 siblings, 1 reply; 4+ messages in thread
From: Yao, Jiewen @ 2020-12-19  3:58 UTC (permalink / raw)
  To: devel@edk2.groups.io, kun.q@outlook.com
  Cc: Wang, Jian J, Wu, Hao A, Dong, Eric, Bi, Dandan, Liming Gao,
	Kinney, Michael D, Liu, Zhiguang, Ni, Ray, Zhang, Qi1,
	Kumar, Rahul1, Ard Biesheuvel, Sami Mujawar, Supreeth Venkatesh,
	Laszlo Ersek

Hi
Thanks to add the StandaloneMM support.

Would you please share the information on how you test the patch series?

For every feature you touched (such as TPM), have you validated both traditional MM and standalone MM feature on some platforms?

Thank you
Yao Jiewen



> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Kun Qin
> Sent: Saturday, December 19, 2020 2:50 AM
> To: devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A
> <hao.a.wu@intel.com>; Dong, Eric <eric.dong@intel.com>; Bi, Dandan
> <dandan.bi@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Kinney,
> Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang
> <zhiguang.liu@intel.com>; Ni, Ray <ray.ni@intel.com>; Yao, Jiewen
> <jiewen.yao@intel.com>; Zhang, Qi1 <qi1.zhang@intel.com>; Kumar,
> Rahul1 <rahul1.kumar@intel.com>; Ard Biesheuvel
> <ard.biesheuvel@arm.com>; Sami Mujawar <sami.mujawar@arm.com>;
> Supreeth Venkatesh <supreeth.venkatesh@arm.com>; Laszlo Ersek
> <lersek@redhat.com>
> Subject: [edk2-devel] [PATCH v1 00/15] Extends Support of
> MM_STANDALONE Type Modules to X64
> 
> Current MM_STANDALONE type modules are largely focusing on AArch64
> systems, which presents certain gaps to compile or run StandaloneMm on
> X64 system.
> 
> This patch series extended support for MM_STANDALONE type modules to
> build and run on X64 systems by creating new instances of drivers and
> libraries.
> 
> A few minor build time bugs related to this effort are also fixed.
> 
> Patch v1 branch:
> https://github.com/kuqin12/edk2/tree/standalone_x64_v1
> 
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Qi Zhang <qi1.zhang@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
> Cc: Sami Mujawar <sami.mujawar@arm.com>
> Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> 
> Kun Qin (15):
>   StandaloneMmPkg: StandaloneMmCoreEntryPoint: Extends support for
> X64
>   StandaloneMmPkg: StandaloneMmCoreHobLib: Extend support for x64
> Mm
>     Core
>   StandaloneMmPkg: StandaloneMmCoreMemoryAllocationLib: Fix
> compiler
>     warning
>   StandaloneMmPkg: StandaloneMmMemLib: Extends support for X64
>     architecture
>   MdeModulePkg: SmmLockBoxSmmLib: Support StandaloneMm for
> SmmLockBoxLib
>   MdeModulePkg: SmmReportStatusCodeLib: ReportStatusCodeLib in
>     StandaloneMm
>   MdeModulePkg: FirmwarePerformanceDataTable: Added StandaloneMm
> support
>   MdeModulePkg: ReportStatusCodeRouter: Support StandaloneMm RSC
> Router
>   MdePkg: UefiDevicePathLib: Support UefiDevicePathLib under
>     StandaloneMm
>   PcAtChipsetPkg: AcpiTimerLib: Added StandaloneMm instance of
>     AcpiTimerLib
>   SecurityPkg: Tcg2PhysicalPresenceLib: Introduce StandaloneMm instance
>   SecurityPkg: Tcg2PpVendorLibNull: Added support for MM_STANDALONE
> type
>   SecurityPkg: Tpm2DeviceLibDTpm: Introduce StandaloneMm instance
>   UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm
>   UefiCpuPkg: SmmCpuExceptionHandlerLib: Added StandaloneMm module
>     support
> 
>  MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.c =>
> SmmLockBoxMmLib.c}                                                    |  77 ++--
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxStandaloneMmLib.c
> |  53 +++
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxTraditionalMmLib.c
> |  53 +++
>  MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.c
> |  16 +-
> 
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibSt
> andaloneMm.c                                                   |  39 ++
> 
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibTr
> aditional.c                                                    |  39 ++
> 
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.c => FirmwarePerformanceCommon.c}           |  72
> ++--
> 
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceStandaloneMm.c                                   |  62 +++
> 
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceTraditional.c                                    |  62 +++
> 
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.c => ReportStatusCodeRouterCommon.c}               |  43 +-
> 
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.c                                          |  33 ++
> 
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterTraditional.c                                           |  33 ++
>  MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c
> |  33 --
>  MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c
> |  51 +++
>  MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c
> |  40 ++
>  PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c =>
> CommonAcpiTimerLib.c}                                                 |   8 +-
>  PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c
> |  81 +---
>  PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneAcpiTimerLib.c
> |  31 ++
> 
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.c => MmTcg2PhysicalPresenceLibCommon.c}              |  29 +-
> 
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresen
> ceLib.c                                                     | 368 +----------------
> 
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/StandaloneMmTcg2Phys
> icalPresenceLib.c                                            |  42 ++
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.c
> |  42 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmBase.c
> |  69 ++++
> 
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmStandalone
> Mm.c                                                           |  67 +++
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.c
> |  40 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> |  15 +-
> 
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/Standalone
> MmCoreEntryPoint.c                                             |  71 ++++
>  StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> AArch64}/StandaloneMmCoreHobLib.c                                           |   6 +-
>  StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> X64}/StandaloneMmCoreHobLib.c                                               | 426
> ++++++++++----------
> 
> StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/Stan
> daloneMmCoreMemoryAllocationLib.c                               |   2 +-
> 
> StandaloneMmPkg/Library/StandaloneMmMemLib/X64/StandaloneMmMe
> mLibInternal.c                                                     |  67 +++
>  UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Common.c}
> |  14 +-
>  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.c
> | 384 +-----------------
>  UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c
> |  31 ++
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxLibPrivate.h
> |  27 ++
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
> |  15 +-
>  MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.inf =>
> SmmLockBoxStandaloneMmLib.inf}                                      |  26 +-
>  MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.h
> |  37 ++
> 
> MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCode
> Lib.inf                                                          |   4 +-
> 
> MdeModulePkg/Library/SmmReportStatusCodeLib/{SmmReportStatusCode
> Lib.inf => StandaloneMmReportStatusCodeLib.inf}                 |  17 +-
>  MdeModulePkg/MdeModulePkg.dsc
> |   6 +
> 
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceCommon.h                                         |  55 +++
> 
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceSmm.inf                                          |  11 +-
> 
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.inf => FirmwarePerformanceStandaloneMm.inf} |
> 31 +-
> 
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.h => ReportStatusCodeRouterCommon.h}               |  50 ++-
> 
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterSmm.inf                                                 |  13 +-
> 
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.inf                                        |  49 +++
>  MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> |   1 +
> 
> MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathPr
> otocol.inf                                                |   1 +
>  MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLib.inf =>
> UefiDevicePathLibStandaloneMm.inf}                                   |  11 +-
>  MdePkg/MdePkg.dsc
> |   1 +
>  PcAtChipsetPkg/Library/AcpiTimerLib/CommonAcpiTimerLib.h
> |  25 ++
>  PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
> |   2 +
>  PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf =>
> StandaloneAcpiTimerLib.inf}                                         |  19 +-
>  PcAtChipsetPkg/PcAtChipsetPkg.dsc
> |   1 +
> 
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/MmTcg2PhysicalPresenc
> eLibCommon.h                                                |  35 ++
> 
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresen
> ceLib.inf                                                   |   6 +-
> 
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.inf => StandaloneMmTcg2PhysicalPresenceLib.inf}      |  22 +-
>  SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
> |   2 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.h
> |  68 ++++
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
> |   3 +
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/{Tpm2DeviceLibDTpm.inf =>
> Tpm2DeviceLibDTpmStandaloneMm.inf}                              |  13 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
> |   3 +
>  SecurityPkg/SecurityPkg.dsc
> |   3 +
> 
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm
> CoreEntryPoint.inf                                               |   3 +
> 
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore
> HobLib.inf                                                       |   8 +-
> 
> StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib
> .inf                                                               |   6 +-
>  UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.h => CpuIo2Common.h}
> |  18 +-
>  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
> |   7 +-
>  UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf}
> |  23 +-
> 
> UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.
> inf                                                         |   2 +-
>  UefiCpuPkg/UefiCpuPkg.dsc
> |   6 +
>  72 files changed, 1704 insertions(+), 1425 deletions(-)
>  rename MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.c
> => SmmLockBoxMmLib.c} (89%)
>  create mode 100644
> MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxStandaloneMmLib.c
>  create mode 100644
> MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxTraditionalMmLib.c
>  create mode 100644
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibSt
> andaloneMm.c
>  create mode 100644
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibTr
> aditional.c
>  rename
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.c => FirmwarePerformanceCommon.c} (77%)
>  create mode 100644
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceStandaloneMm.c
>  create mode 100644
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceTraditional.c
>  rename
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.c => ReportStatusCodeRouterCommon.c} (80%)
>  create mode 100644
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.c
>  create mode 100644
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterTraditional.c
>  create mode 100644
> MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c
>  create mode 100644
> MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c
>  copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c =>
> CommonAcpiTimerLib.c} (86%)
>  create mode 100644
> PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneAcpiTimerLib.c
>  copy
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.c => MmTcg2PhysicalPresenceLibCommon.c} (91%)
>  create mode 100644
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/StandaloneMmTcg2Phys
> icalPresenceLib.c
>  create mode 100644
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmBase.c
>  create mode 100644
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmStandalone
> Mm.c
>  create mode 100644
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/Standalone
> MmCoreEntryPoint.c
>  copy StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> AArch64}/StandaloneMmCoreHobLib.c (96%)
>  rename StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> X64}/StandaloneMmCoreHobLib.c (70%)
>  create mode 100644
> StandaloneMmPkg/Library/StandaloneMmMemLib/X64/StandaloneMmMe
> mLibInternal.c
>  copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Common.c} (94%)
>  create mode 100644 UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c
>  copy MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.inf =>
> SmmLockBoxStandaloneMmLib.inf} (52%)
>  create mode 100644
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.h
>  copy
> MdeModulePkg/Library/SmmReportStatusCodeLib/{SmmReportStatusCode
> Lib.inf => StandaloneMmReportStatusCodeLib.inf} (64%)
>  create mode 100644
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceCommon.h
>  copy
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.inf => FirmwarePerformanceStandaloneMm.inf}
> (65%)
>  rename
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.h => ReportStatusCodeRouterCommon.h} (70%)
>  create mode 100644
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.inf
>  copy MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLib.inf =>
> UefiDevicePathLibStandaloneMm.inf} (79%)
>  create mode 100644
> PcAtChipsetPkg/Library/AcpiTimerLib/CommonAcpiTimerLib.h
>  copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf =>
> StandaloneAcpiTimerLib.inf} (70%)
>  create mode 100644
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/MmTcg2PhysicalPresenc
> eLibCommon.h
>  copy
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.inf => StandaloneMmTcg2PhysicalPresenceLib.inf} (64%)
>  create mode 100644
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.h
>  copy SecurityPkg/Library/Tpm2DeviceLibDTpm/{Tpm2DeviceLibDTpm.inf =>
> Tpm2DeviceLibDTpmStandaloneMm.inf} (70%)
>  rename UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.h => CpuIo2Common.h}
> (92%)
>  copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf =>
> CpuIo2StandaloneMm.inf} (56%)
> 
> --
> 2.28.0.windows.1
> 
> 
> 
> 
> 


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

* Re: [edk2-devel] [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64
  2020-12-19  3:58 ` [edk2-devel] " Yao, Jiewen
@ 2020-12-19  9:38   ` Kun Qin
  2020-12-19 14:24     ` Yao, Jiewen
  0 siblings, 1 reply; 4+ messages in thread
From: Kun Qin @ 2020-12-19  9:38 UTC (permalink / raw)
  To: Yao, Jiewen, devel@edk2.groups.io
  Cc: Wang, Jian J, Wu, Hao A, Dong, Eric, Bi, Dandan, Liming Gao,
	Kinney, Michael D, Liu, Zhiguang, Ni, Ray, Zhang, Qi1,
	Kumar, Rahul1, Ard Biesheuvel, Sami Mujawar, Supreeth Venkatesh,
	Laszlo Ersek

[-- Attachment #1: Type: text/plain, Size: 17586 bytes --]

Hi Jiewen,

All these modules are tested on two different proprietary physical platforms (which both have dTPM on board). Standalone and traditional MM are both validated to be functional on those systems.

For some drivers not listed in the patch series (such as Tcg2Smm and StandaloneMmCpu) to work on X64 system with StandaloneMm, they will need certain design changes or heavier modification than minor implementation abstraction in contrast to these commits. I think it will be more suitable to send them as separate patches instead of flooding in everything all at once. Please let me know if you think otherwise.

Thanks,
Kun

From: Yao, Jiewen<mailto:jiewen.yao@intel.com>
Sent: Friday, December 18, 2020 19:58
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; kun.q@outlook.com<mailto:kun.q@outlook.com>
Cc: Wang, Jian J<mailto:jian.j.wang@intel.com>; Wu, Hao A<mailto:hao.a.wu@intel.com>; Dong, Eric<mailto:eric.dong@intel.com>; Bi, Dandan<mailto:dandan.bi@intel.com>; Liming Gao<mailto:gaoliming@byosoft.com.cn>; Kinney, Michael D<mailto:michael.d.kinney@intel.com>; Liu, Zhiguang<mailto:zhiguang.liu@intel.com>; Ni, Ray<mailto:ray.ni@intel.com>; Zhang, Qi1<mailto:qi1.zhang@intel.com>; Kumar, Rahul1<mailto:rahul1.kumar@intel.com>; Ard Biesheuvel<mailto:ard.biesheuvel@arm.com>; Sami Mujawar<mailto:sami.mujawar@arm.com>; Supreeth Venkatesh<mailto:supreeth.venkatesh@arm.com>; Laszlo Ersek<mailto:lersek@redhat.com>
Subject: RE: [edk2-devel] [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64

Hi
Thanks to add the StandaloneMM support.

Would you please share the information on how you test the patch series?

For every feature you touched (such as TPM), have you validated both traditional MM and standalone MM feature on some platforms?

Thank you
Yao Jiewen



> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Kun Qin
> Sent: Saturday, December 19, 2020 2:50 AM
> To: devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A
> <hao.a.wu@intel.com>; Dong, Eric <eric.dong@intel.com>; Bi, Dandan
> <dandan.bi@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Kinney,
> Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang
> <zhiguang.liu@intel.com>; Ni, Ray <ray.ni@intel.com>; Yao, Jiewen
> <jiewen.yao@intel.com>; Zhang, Qi1 <qi1.zhang@intel.com>; Kumar,
> Rahul1 <rahul1.kumar@intel.com>; Ard Biesheuvel
> <ard.biesheuvel@arm.com>; Sami Mujawar <sami.mujawar@arm.com>;
> Supreeth Venkatesh <supreeth.venkatesh@arm.com>; Laszlo Ersek
> <lersek@redhat.com>
> Subject: [edk2-devel] [PATCH v1 00/15] Extends Support of
> MM_STANDALONE Type Modules to X64
>
> Current MM_STANDALONE type modules are largely focusing on AArch64
> systems, which presents certain gaps to compile or run StandaloneMm on
> X64 system.
>
> This patch series extended support for MM_STANDALONE type modules to
> build and run on X64 systems by creating new instances of drivers and
> libraries.
>
> A few minor build time bugs related to this effort are also fixed.
>
> Patch v1 branch:
> https://github.com/kuqin12/edk2/tree/standalone_x64_v1
>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Qi Zhang <qi1.zhang@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
> Cc: Sami Mujawar <sami.mujawar@arm.com>
> Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
>
> Kun Qin (15):
>   StandaloneMmPkg: StandaloneMmCoreEntryPoint: Extends support for
> X64
>   StandaloneMmPkg: StandaloneMmCoreHobLib: Extend support for x64
> Mm
>     Core
>   StandaloneMmPkg: StandaloneMmCoreMemoryAllocationLib: Fix
> compiler
>     warning
>   StandaloneMmPkg: StandaloneMmMemLib: Extends support for X64
>     architecture
>   MdeModulePkg: SmmLockBoxSmmLib: Support StandaloneMm for
> SmmLockBoxLib
>   MdeModulePkg: SmmReportStatusCodeLib: ReportStatusCodeLib in
>     StandaloneMm
>   MdeModulePkg: FirmwarePerformanceDataTable: Added StandaloneMm
> support
>   MdeModulePkg: ReportStatusCodeRouter: Support StandaloneMm RSC
> Router
>   MdePkg: UefiDevicePathLib: Support UefiDevicePathLib under
>     StandaloneMm
>   PcAtChipsetPkg: AcpiTimerLib: Added StandaloneMm instance of
>     AcpiTimerLib
>   SecurityPkg: Tcg2PhysicalPresenceLib: Introduce StandaloneMm instance
>   SecurityPkg: Tcg2PpVendorLibNull: Added support for MM_STANDALONE
> type
>   SecurityPkg: Tpm2DeviceLibDTpm: Introduce StandaloneMm instance
>   UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm
>   UefiCpuPkg: SmmCpuExceptionHandlerLib: Added StandaloneMm module
>     support
>
>  MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.c =>
> SmmLockBoxMmLib.c}                                                    |  77 ++--
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxStandaloneMmLib.c
> |  53 +++
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxTraditionalMmLib.c
> |  53 +++
>  MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.c
> |  16 +-
>
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibSt
> andaloneMm.c                                                   |  39 ++
>
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibTr
> aditional.c                                                    |  39 ++
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.c => FirmwarePerformanceCommon.c}           |  72
> ++--
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceStandaloneMm.c                                   |  62 +++
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceTraditional.c                                    |  62 +++
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.c => ReportStatusCodeRouterCommon.c}               |  43 +-
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.c                                          |  33 ++
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterTraditional.c                                           |  33 ++
>  MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c
> |  33 --
>  MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c
> |  51 +++
>  MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c
> |  40 ++
>  PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c =>
> CommonAcpiTimerLib.c}                                                 |   8 +-
>  PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c
> |  81 +---
>  PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneAcpiTimerLib.c
> |  31 ++
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.c => MmTcg2PhysicalPresenceLibCommon.c}              |  29 +-
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresen
> ceLib.c                                                     | 368 +----------------
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/StandaloneMmTcg2Phys
> icalPresenceLib.c                                            |  42 ++
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.c
> |  42 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmBase.c
> |  69 ++++
>
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmStandalone
> Mm.c                                                           |  67 +++
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.c
> |  40 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> |  15 +-
>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/Standalone
> MmCoreEntryPoint.c                                             |  71 ++++
>  StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> AArch64}/StandaloneMmCoreHobLib.c                                           |   6 +-
>  StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> X64}/StandaloneMmCoreHobLib.c                                               | 426
> ++++++++++----------
>
> StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/Stan
> daloneMmCoreMemoryAllocationLib.c                               |   2 +-
>
> StandaloneMmPkg/Library/StandaloneMmMemLib/X64/StandaloneMmMe
> mLibInternal.c                                                     |  67 +++
>  UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Common.c}
> |  14 +-
>  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.c
> | 384 +-----------------
>  UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c
> |  31 ++
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxLibPrivate.h
> |  27 ++
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
> |  15 +-
>  MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.inf =>
> SmmLockBoxStandaloneMmLib.inf}                                      |  26 +-
>  MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.h
> |  37 ++
>
> MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCode
> Lib.inf                                                          |   4 +-
>
> MdeModulePkg/Library/SmmReportStatusCodeLib/{SmmReportStatusCode
> Lib.inf => StandaloneMmReportStatusCodeLib.inf}                 |  17 +-
>  MdeModulePkg/MdeModulePkg.dsc
> |   6 +
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceCommon.h                                         |  55 +++
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceSmm.inf                                          |  11 +-
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.inf => FirmwarePerformanceStandaloneMm.inf} |
> 31 +-
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.h => ReportStatusCodeRouterCommon.h}               |  50 ++-
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterSmm.inf                                                 |  13 +-
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.inf                                        |  49 +++
>  MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> |   1 +
>
> MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathPr
> otocol.inf                                                |   1 +
>  MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLib.inf =>
> UefiDevicePathLibStandaloneMm.inf}                                   |  11 +-
>  MdePkg/MdePkg.dsc
> |   1 +
>  PcAtChipsetPkg/Library/AcpiTimerLib/CommonAcpiTimerLib.h
> |  25 ++
>  PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
> |   2 +
>  PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf =>
> StandaloneAcpiTimerLib.inf}                                         |  19 +-
>  PcAtChipsetPkg/PcAtChipsetPkg.dsc
> |   1 +
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/MmTcg2PhysicalPresenc
> eLibCommon.h                                                |  35 ++
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresen
> ceLib.inf                                                   |   6 +-
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.inf => StandaloneMmTcg2PhysicalPresenceLib.inf}      |  22 +-
>  SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
> |   2 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.h
> |  68 ++++
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
> |   3 +
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/{Tpm2DeviceLibDTpm.inf =>
> Tpm2DeviceLibDTpmStandaloneMm.inf}                              |  13 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
> |   3 +
>  SecurityPkg/SecurityPkg.dsc
> |   3 +
>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm
> CoreEntryPoint.inf                                               |   3 +
>
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore
> HobLib.inf                                                       |   8 +-
>
> StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib
> .inf                                                               |   6 +-
>  UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.h => CpuIo2Common.h}
> |  18 +-
>  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
> |   7 +-
>  UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf}
> |  23 +-
>
> UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.
> inf                                                         |   2 +-
>  UefiCpuPkg/UefiCpuPkg.dsc
> |   6 +
>  72 files changed, 1704 insertions(+), 1425 deletions(-)
>  rename MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.c
> => SmmLockBoxMmLib.c} (89%)
>  create mode 100644
> MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxStandaloneMmLib.c
>  create mode 100644
> MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxTraditionalMmLib.c
>  create mode 100644
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibSt
> andaloneMm.c
>  create mode 100644
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibTr
> aditional.c
>  rename
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.c => FirmwarePerformanceCommon.c} (77%)
>  create mode 100644
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceStandaloneMm.c
>  create mode 100644
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceTraditional.c
>  rename
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.c => ReportStatusCodeRouterCommon.c} (80%)
>  create mode 100644
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.c
>  create mode 100644
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterTraditional.c
>  create mode 100644
> MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c
>  create mode 100644
> MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c
>  copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c =>
> CommonAcpiTimerLib.c} (86%)
>  create mode 100644
> PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneAcpiTimerLib.c
>  copy
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.c => MmTcg2PhysicalPresenceLibCommon.c} (91%)
>  create mode 100644
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/StandaloneMmTcg2Phys
> icalPresenceLib.c
>  create mode 100644
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmBase.c
>  create mode 100644
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmStandalone
> Mm.c
>  create mode 100644
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/Standalone
> MmCoreEntryPoint.c
>  copy StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> AArch64}/StandaloneMmCoreHobLib.c (96%)
>  rename StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> X64}/StandaloneMmCoreHobLib.c (70%)
>  create mode 100644
> StandaloneMmPkg/Library/StandaloneMmMemLib/X64/StandaloneMmMe
> mLibInternal.c
>  copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Common.c} (94%)
>  create mode 100644 UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c
>  copy MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.inf =>
> SmmLockBoxStandaloneMmLib.inf} (52%)
>  create mode 100644
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.h
>  copy
> MdeModulePkg/Library/SmmReportStatusCodeLib/{SmmReportStatusCode
> Lib.inf => StandaloneMmReportStatusCodeLib.inf} (64%)
>  create mode 100644
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceCommon.h
>  copy
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.inf => FirmwarePerformanceStandaloneMm.inf}
> (65%)
>  rename
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.h => ReportStatusCodeRouterCommon.h} (70%)
>  create mode 100644
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.inf
>  copy MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLib.inf =>
> UefiDevicePathLibStandaloneMm.inf} (79%)
>  create mode 100644
> PcAtChipsetPkg/Library/AcpiTimerLib/CommonAcpiTimerLib.h
>  copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf =>
> StandaloneAcpiTimerLib.inf} (70%)
>  create mode 100644
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/MmTcg2PhysicalPresenc
> eLibCommon.h
>  copy
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.inf => StandaloneMmTcg2PhysicalPresenceLib.inf} (64%)
>  create mode 100644
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.h
>  copy SecurityPkg/Library/Tpm2DeviceLibDTpm/{Tpm2DeviceLibDTpm.inf =>
> Tpm2DeviceLibDTpmStandaloneMm.inf} (70%)
>  rename UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.h => CpuIo2Common.h}
> (92%)
>  copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf =>
> CpuIo2StandaloneMm.inf} (56%)
>
> --
> 2.28.0.windows.1
>
>
>
> 
>


[-- Attachment #2: Type: text/html, Size: 31478 bytes --]

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

* Re: [edk2-devel] [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64
  2020-12-19  9:38   ` Kun Qin
@ 2020-12-19 14:24     ` Yao, Jiewen
  0 siblings, 0 replies; 4+ messages in thread
From: Yao, Jiewen @ 2020-12-19 14:24 UTC (permalink / raw)
  To: Kun Qin, devel@edk2.groups.io
  Cc: Wang, Jian J, Wu, Hao A, Dong, Eric, Bi, Dandan, Liming Gao,
	Kinney, Michael D, Liu, Zhiguang, Ni, Ray, Zhang, Qi1,
	Kumar, Rahul1, Ard Biesheuvel, Sami Mujawar, Supreeth Venkatesh,
	Laszlo Ersek

[-- Attachment #1: Type: text/plain, Size: 19450 bytes --]

I see. Yes, I think it is good idea to separate them in other patches.

Thank you very much to confirm that.

From: Kun Qin <kun.q@outlook.com>
Sent: Saturday, December 19, 2020 5:39 PM
To: Yao, Jiewen <jiewen.yao@intel.com>; devel@edk2.groups.io
Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Dong, Eric <eric.dong@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Kinney, Michael D <michael.d.kinney@intel.com>; Liu, Zhiguang <zhiguang.liu@intel.com>; Ni, Ray <ray.ni@intel.com>; Zhang, Qi1 <qi1.zhang@intel.com>; Kumar, Rahul1 <rahul1.kumar@intel.com>; Ard Biesheuvel <ard.biesheuvel@arm.com>; Sami Mujawar <sami.mujawar@arm.com>; Supreeth Venkatesh <supreeth.venkatesh@arm.com>; Laszlo Ersek <lersek@redhat.com>
Subject: RE: [edk2-devel] [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64

Hi Jiewen,

All these modules are tested on two different proprietary physical platforms (which both have dTPM on board). Standalone and traditional MM are both validated to be functional on those systems.

For some drivers not listed in the patch series (such as Tcg2Smm and StandaloneMmCpu) to work on X64 system with StandaloneMm, they will need certain design changes or heavier modification than minor implementation abstraction in contrast to these commits. I think it will be more suitable to send them as separate patches instead of flooding in everything all at once. Please let me know if you think otherwise.

Thanks,
Kun

From: Yao, Jiewen<mailto:jiewen.yao@intel.com>
Sent: Friday, December 18, 2020 19:58
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; kun.q@outlook.com<mailto:kun.q@outlook.com>
Cc: Wang, Jian J<mailto:jian.j.wang@intel.com>; Wu, Hao A<mailto:hao.a.wu@intel.com>; Dong, Eric<mailto:eric.dong@intel.com>; Bi, Dandan<mailto:dandan.bi@intel.com>; Liming Gao<mailto:gaoliming@byosoft.com.cn>; Kinney, Michael D<mailto:michael.d.kinney@intel.com>; Liu, Zhiguang<mailto:zhiguang.liu@intel.com>; Ni, Ray<mailto:ray.ni@intel.com>; Zhang, Qi1<mailto:qi1.zhang@intel.com>; Kumar, Rahul1<mailto:rahul1.kumar@intel.com>; Ard Biesheuvel<mailto:ard.biesheuvel@arm.com>; Sami Mujawar<mailto:sami.mujawar@arm.com>; Supreeth Venkatesh<mailto:supreeth.venkatesh@arm.com>; Laszlo Ersek<mailto:lersek@redhat.com>
Subject: RE: [edk2-devel] [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64

Hi
Thanks to add the StandaloneMM support.

Would you please share the information on how you test the patch series?

For every feature you touched (such as TPM), have you validated both traditional MM and standalone MM feature on some platforms?

Thank you
Yao Jiewen



> -----Original Message-----
> From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> On Behalf Of Kun Qin
> Sent: Saturday, December 19, 2020 2:50 AM
> To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
> Cc: Wang, Jian J <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>; Wu, Hao A
> <hao.a.wu@intel.com<mailto:hao.a.wu@intel.com>>; Dong, Eric <eric.dong@intel.com<mailto:eric.dong@intel.com>>; Bi, Dandan
> <dandan.bi@intel.com<mailto:dandan.bi@intel.com>>; Liming Gao <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>; Kinney,
> Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>; Liu, Zhiguang
> <zhiguang.liu@intel.com<mailto:zhiguang.liu@intel.com>>; Ni, Ray <ray.ni@intel.com<mailto:ray.ni@intel.com>>; Yao, Jiewen
> <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>; Zhang, Qi1 <qi1.zhang@intel.com<mailto:qi1.zhang@intel.com>>; Kumar,
> Rahul1 <rahul1.kumar@intel.com<mailto:rahul1.kumar@intel.com>>; Ard Biesheuvel
> <ard.biesheuvel@arm.com<mailto:ard.biesheuvel@arm.com>>; Sami Mujawar <sami.mujawar@arm.com<mailto:sami.mujawar@arm.com>>;
> Supreeth Venkatesh <supreeth.venkatesh@arm.com<mailto:supreeth.venkatesh@arm.com>>; Laszlo Ersek
> <lersek@redhat.com<mailto:lersek@redhat.com>>
> Subject: [edk2-devel] [PATCH v1 00/15] Extends Support of
> MM_STANDALONE Type Modules to X64
>
> Current MM_STANDALONE type modules are largely focusing on AArch64
> systems, which presents certain gaps to compile or run StandaloneMm on
> X64 system.
>
> This patch series extended support for MM_STANDALONE type modules to
> build and run on X64 systems by creating new instances of drivers and
> libraries.
>
> A few minor build time bugs related to this effort are also fixed.
>
> Patch v1 branch:
> https://github.com/kuqin12/edk2/tree/standalone_x64_v1
>
> Cc: Jian J Wang <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>
> Cc: Hao A Wu <hao.a.wu@intel.com<mailto:hao.a.wu@intel.com>>
> Cc: Eric Dong <eric.dong@intel.com<mailto:eric.dong@intel.com>>
> Cc: Dandan Bi <dandan.bi@intel.com<mailto:dandan.bi@intel.com>>
> Cc: Liming Gao <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>
> Cc: Michael D Kinney <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com<mailto:zhiguang.liu@intel.com>>
> Cc: Ray Ni <ray.ni@intel.com<mailto:ray.ni@intel.com>>
> Cc: Jiewen Yao <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
> Cc: Qi Zhang <qi1.zhang@intel.com<mailto:qi1.zhang@intel.com>>
> Cc: Rahul Kumar <rahul1.kumar@intel.com<mailto:rahul1.kumar@intel.com>>
> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com<mailto:ard.biesheuvel@arm.com>>
> Cc: Sami Mujawar <sami.mujawar@arm.com<mailto:sami.mujawar@arm.com>>
> Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com<mailto:supreeth.venkatesh@arm.com>>
> Cc: Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>>
>
> Kun Qin (15):
>   StandaloneMmPkg: StandaloneMmCoreEntryPoint: Extends support for
> X64
>   StandaloneMmPkg: StandaloneMmCoreHobLib: Extend support for x64
> Mm
>     Core
>   StandaloneMmPkg: StandaloneMmCoreMemoryAllocationLib: Fix
> compiler
>     warning
>   StandaloneMmPkg: StandaloneMmMemLib: Extends support for X64
>     architecture
>   MdeModulePkg: SmmLockBoxSmmLib: Support StandaloneMm for
> SmmLockBoxLib
>   MdeModulePkg: SmmReportStatusCodeLib: ReportStatusCodeLib in
>     StandaloneMm
>   MdeModulePkg: FirmwarePerformanceDataTable: Added StandaloneMm
> support
>   MdeModulePkg: ReportStatusCodeRouter: Support StandaloneMm RSC
> Router
>   MdePkg: UefiDevicePathLib: Support UefiDevicePathLib under
>     StandaloneMm
>   PcAtChipsetPkg: AcpiTimerLib: Added StandaloneMm instance of
>     AcpiTimerLib
>   SecurityPkg: Tcg2PhysicalPresenceLib: Introduce StandaloneMm instance
>   SecurityPkg: Tcg2PpVendorLibNull: Added support for MM_STANDALONE
> type
>   SecurityPkg: Tpm2DeviceLibDTpm: Introduce StandaloneMm instance
>   UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm
>   UefiCpuPkg: SmmCpuExceptionHandlerLib: Added StandaloneMm module
>     support
>
>  MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.c =>
> SmmLockBoxMmLib.c}                                                    |  77 ++--
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxStandaloneMmLib.c
> |  53 +++
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxTraditionalMmLib.c
> |  53 +++
>  MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.c
> |  16 +-
>
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibSt
> andaloneMm.c                                                   |  39 ++
>
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibTr
> aditional.c                                                    |  39 ++
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.c => FirmwarePerformanceCommon.c}           |  72
> ++--
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceStandaloneMm.c                                   |  62 +++
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceTraditional.c                                    |  62 +++
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.c => ReportStatusCodeRouterCommon.c}               |  43 +-
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.c                                          |  33 ++
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterTraditional.c                                           |  33 ++
>  MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c
> |  33 --
>  MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c
> |  51 +++
>  MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c
> |  40 ++
>  PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c =>
> CommonAcpiTimerLib.c}                                                 |   8 +-
>  PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c
> |  81 +---
>  PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneAcpiTimerLib.c
> |  31 ++
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.c => MmTcg2PhysicalPresenceLibCommon.c}              |  29 +-
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresen
> ceLib.c                                                     | 368 +----------------
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/StandaloneMmTcg2Phys
> icalPresenceLib.c                                            |  42 ++
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.c
> |  42 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmBase.c
> |  69 ++++
>
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmStandalone
> Mm.c                                                           |  67 +++
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.c
> |  40 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> |  15 +-
>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/Standalone
> MmCoreEntryPoint.c                                             |  71 ++++
>  StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> AArch64}/StandaloneMmCoreHobLib.c                                           |   6 +-
>  StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> X64}/StandaloneMmCoreHobLib.c                                               | 426
> ++++++++++----------
>
> StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/Stan
> daloneMmCoreMemoryAllocationLib.c                               |   2 +-
>
> StandaloneMmPkg/Library/StandaloneMmMemLib/X64/StandaloneMmMe
> mLibInternal.c                                                     |  67 +++
>  UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Common.c}
> |  14 +-
>  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.c
> | 384 +-----------------
>  UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c
> |  31 ++
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxLibPrivate.h
> |  27 ++
>  MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
> |  15 +-
>  MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.inf =>
> SmmLockBoxStandaloneMmLib.inf}                                      |  26 +-
>  MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.h
> |  37 ++
>
> MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCode
> Lib.inf                                                          |   4 +-
>
> MdeModulePkg/Library/SmmReportStatusCodeLib/{SmmReportStatusCode
> Lib.inf => StandaloneMmReportStatusCodeLib.inf}                 |  17 +-
>  MdeModulePkg/MdeModulePkg.dsc
> |   6 +
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceCommon.h                                         |  55 +++
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceSmm.inf                                          |  11 +-
>
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.inf => FirmwarePerformanceStandaloneMm.inf} |
> 31 +-
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.h => ReportStatusCodeRouterCommon.h}               |  50 ++-
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterSmm.inf                                                 |  13 +-
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.inf                                        |  49 +++
>  MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
> |   1 +
>
> MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathPr
> otocol.inf                                                |   1 +
>  MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLib.inf =>
> UefiDevicePathLibStandaloneMm.inf}                                   |  11 +-
>  MdePkg/MdePkg.dsc
> |   1 +
>  PcAtChipsetPkg/Library/AcpiTimerLib/CommonAcpiTimerLib.h
> |  25 ++
>  PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
> |   2 +
>  PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf =>
> StandaloneAcpiTimerLib.inf}                                         |  19 +-
>  PcAtChipsetPkg/PcAtChipsetPkg.dsc
> |   1 +
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/MmTcg2PhysicalPresenc
> eLibCommon.h                                                |  35 ++
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresen
> ceLib.inf                                                   |   6 +-
>
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.inf => StandaloneMmTcg2PhysicalPresenceLib.inf}      |  22 +-
>  SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
> |   2 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.h
> |  68 ++++
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
> |   3 +
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/{Tpm2DeviceLibDTpm.inf =>
> Tpm2DeviceLibDTpmStandaloneMm.inf}                              |  13 +-
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
> |   3 +
>  SecurityPkg/SecurityPkg.dsc
> |   3 +
>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm
> CoreEntryPoint.inf                                               |   3 +
>
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore
> HobLib.inf                                                       |   8 +-
>
> StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib
> .inf                                                               |   6 +-
>  UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.h => CpuIo2Common.h}
> |  18 +-
>  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
> |   7 +-
>  UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf}
> |  23 +-
>
> UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.
> inf                                                         |   2 +-
>  UefiCpuPkg/UefiCpuPkg.dsc
> |   6 +
>  72 files changed, 1704 insertions(+), 1425 deletions(-)
>  rename MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.c
> => SmmLockBoxMmLib.c} (89%)
>  create mode 100644
> MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxStandaloneMmLib.c
>  create mode 100644
> MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxTraditionalMmLib.c
>  create mode 100644
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibSt
> andaloneMm.c
>  create mode 100644
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibTr
> aditional.c
>  rename
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.c => FirmwarePerformanceCommon.c} (77%)
>  create mode 100644
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceStandaloneMm.c
>  create mode 100644
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceTraditional.c
>  rename
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.c => ReportStatusCodeRouterCommon.c} (80%)
>  create mode 100644
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.c
>  create mode 100644
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterTraditional.c
>  create mode 100644
> MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c
>  create mode 100644
> MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c
>  copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c =>
> CommonAcpiTimerLib.c} (86%)
>  create mode 100644
> PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneAcpiTimerLib.c
>  copy
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.c => MmTcg2PhysicalPresenceLibCommon.c} (91%)
>  create mode 100644
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/StandaloneMmTcg2Phys
> icalPresenceLib.c
>  create mode 100644
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmBase.c
>  create mode 100644
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmStandalone
> Mm.c
>  create mode 100644
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/Standalone
> MmCoreEntryPoint.c
>  copy StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> AArch64}/StandaloneMmCoreHobLib.c (96%)
>  rename StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ =>
> X64}/StandaloneMmCoreHobLib.c (70%)
>  create mode 100644
> StandaloneMmPkg/Library/StandaloneMmMemLib/X64/StandaloneMmMe
> mLibInternal.c
>  copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Common.c} (94%)
>  create mode 100644 UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c
>  copy MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.inf =>
> SmmLockBoxStandaloneMmLib.inf} (52%)
>  create mode 100644
> MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.h
>  copy
> MdeModulePkg/Library/SmmReportStatusCodeLib/{SmmReportStatusCode
> Lib.inf => StandaloneMmReportStatusCodeLib.inf} (64%)
>  create mode 100644
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/Firm
> warePerformanceCommon.h
>  copy
> MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{Fir
> mwarePerformanceSmm.inf => FirmwarePerformanceStandaloneMm.inf}
> (65%)
>  rename
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.h => ReportStatusCodeRouterCommon.h} (70%)
>  create mode 100644
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCo
> deRouterStandaloneMm.inf
>  copy MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLib.inf =>
> UefiDevicePathLibStandaloneMm.inf} (79%)
>  create mode 100644
> PcAtChipsetPkg/Library/AcpiTimerLib/CommonAcpiTimerLib.h
>  copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf =>
> StandaloneAcpiTimerLib.inf} (70%)
>  create mode 100644
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/MmTcg2PhysicalPresenc
> eLibCommon.h
>  copy
> SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPrese
> nceLib.inf => StandaloneMmTcg2PhysicalPresenceLib.inf} (64%)
>  create mode 100644
> SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.h
>  copy SecurityPkg/Library/Tpm2DeviceLibDTpm/{Tpm2DeviceLibDTpm.inf =>
> Tpm2DeviceLibDTpmStandaloneMm.inf} (70%)
>  rename UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.h => CpuIo2Common.h}
> (92%)
>  copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf =>
> CpuIo2StandaloneMm.inf} (56%)
>
> --
> 2.28.0.windows.1
>
>
>
> 
>


[-- Attachment #2: Type: text/html, Size: 34742 bytes --]

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

end of thread, other threads:[~2020-12-19 14:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-18 18:49 [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64 Kun Qin
2020-12-19  3:58 ` [edk2-devel] " Yao, Jiewen
2020-12-19  9:38   ` Kun Qin
2020-12-19 14:24     ` Yao, Jiewen

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