* [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