[edk2-devel] [PATCH v4 00/20] Extends Support of MM_STANDALONE Type Modules to X64

Kun Qin posted 20 patches 3 years, 2 months ago
Only 0 patches received!
MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.c => SmmLockBoxMmLib.c}                                                    |  82 ++---
MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxStandaloneMmLib.c                                                                  |  53 +++
MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxTraditionalMmLib.c                                                                 |  53 +++
MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.c                                                               |  16 +-
MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibStandaloneMm.c                                                   |  38 ++
MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibTraditional.c                                                    |  38 ++
MdeModulePkg/Library/SmmSmiHandlerProfileLib/{SmmSmiHandlerProfileLib.c => MmSmiHandlerProfileLib.c}                            |  20 +-
MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.c                                                          |  90 +----
MdeModulePkg/Library/SmmSmiHandlerProfileLib/StandaloneMmSmiHandlerProfileLib.c                                                 |  31 ++
MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{FirmwarePerformanceSmm.c => FirmwarePerformanceCommon.c}           |  76 ++--
MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceStandaloneMm.c                                   |  61 ++++
MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceTraditional.c                                    |  61 ++++
MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCodeRouterSmm.c => ReportStatusCodeRouterCommon.c}               |  59 ++-
MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.c                                          |  33 ++
MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterTraditional.c                                           |  33 ++
MdeModulePkg/Universal/StatusCodeHandler/Smm/MemoryStatusCodeWorker.c                                                           |  36 +-
MdeModulePkg/Universal/StatusCodeHandler/Smm/SerialStatusCodeWorker.c                                                           |   2 +-
MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.c => StatusCodeHandlerMm.c}                                  |  23 +-
MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerStandalone.c                                                      |  31 ++
MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerTraditional.c                                                     |  31 ++
MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c                                                                          |  33 --
MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c                                                                    |  51 +++
MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c                                                              |  40 ++
PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c                                                                           |  81 +---
PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c => DxeStandaloneMmAcpiTimerLib.c}                                        |   9 +-
PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneMmAcpiTimerLib.c                                                                  |  31 ++
SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPresenceLib.c => MmTcg2PhysicalPresenceLibCommon.c}              |  33 +-
SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresenceLib.c                                                     | 368 +------------------
SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/StandaloneMmTcg2PhysicalPresenceLib.c                                            |  42 +++
SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.c                                                                       |  42 +--
SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmBase.c                                                                   |  68 ++++
SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmStandaloneMm.c                                                           |  66 ++++
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                                           | 272 --------------
StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Common.c                                                                         | 291 +++++++++++++++
StandaloneMmPkg/Library/StandaloneMmCoreHobLib/X64/StandaloneMmCoreHobLib.c                                                     | 298 +++++++++++++++
StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.c                               |   6 +-
StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneMmMemLibInternal.c                                                 |  27 ++
StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c                                                                 |  52 +++
StandaloneMmPkg/Library/StandaloneMmMemLib/X86StandaloneMmMemLibInternal.c                                                      | 155 ++++++++
UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Mm.c}                                                                                |  17 +-
UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.c                                                                                                | 385 +-------------------
UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c                                                                                       |  32 ++
BaseTools/Source/Python/Ecc/exception.xml                                                                                       |   4 +
MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxLibPrivate.h                                                                       |  25 ++
MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf                                                                         |  15 +-
MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.inf => SmmLockBoxStandaloneMmLib.inf}                                      |  26 +-
MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.h                                                               |  36 ++
MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf                                                          |   4 +-
MdeModulePkg/Library/SmmReportStatusCodeLib/{SmmReportStatusCodeLib.inf => StandaloneMmReportStatusCodeLib.inf}                 |  22 +-
MdeModulePkg/Library/SmmSmiHandlerProfileLib/MmSmiHandlerProfileLib.h                                                           |  23 ++
MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.inf                                                        |   4 +-
MdeModulePkg/Library/SmmSmiHandlerProfileLib/StandaloneMmSmiHandlerProfileLib.inf                                               |  44 +++
MdeModulePkg/MdeModulePkg.dsc                                                                                                   |   8 +
MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceCommon.h                                         |  50 +++
MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf                                          |  11 +-
MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{FirmwarePerformanceSmm.inf => FirmwarePerformanceStandaloneMm.inf} |  31 +-
MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCodeRouterSmm.h => ReportStatusCodeRouterCommon.h}               |  46 ++-
MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf                                                 |  13 +-
MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.inf                                        |  49 +++
MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.h => StatusCodeHandlerMm.h}                                  |  23 +-
MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf                                                           |  15 +-
MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.inf => StatusCodeHandlerStandaloneMm.inf}                    |  32 +-
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/DxeAcpiTimerLib.inf                                                                         |   2 +
PcAtChipsetPkg/Library/AcpiTimerLib/DxeStandaloneMmAcpiTimerLib.h                                                               |  24 ++
PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf => StandaloneMmAcpiTimerLib.inf}                                       |  19 +-
PcAtChipsetPkg/PcAtChipsetPkg.dsc                                                                                               |   1 +
SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/MmTcg2PhysicalPresenceLibCommon.h                                                |  34 ++
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                                                                       |  67 ++++
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                                                       |  11 +-
StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf                                                               |  13 +-
UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.h => CpuIo2Mm.h}                                                                                |  14 +-
UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf                                                                                              |   5 +-
UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf}                                                                  |  24 +-
UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf                                                         |   2 +-
UefiCpuPkg/UefiCpuPkg.dsc                                                                                                       |   6 +
90 files changed, 2503 insertions(+), 1661 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
copy MdeModulePkg/Library/SmmSmiHandlerProfileLib/{SmmSmiHandlerProfileLib.c => MmSmiHandlerProfileLib.c} (86%)
create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/StandaloneMmSmiHandlerProfileLib.c
rename MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{FirmwarePerformanceSmm.c => FirmwarePerformanceCommon.c} (75%)
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} (74%)
create mode 100644 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.c
create mode 100644 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterTraditional.c
rename MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.c => StatusCodeHandlerMm.c} (69%)
create mode 100644 MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerStandalone.c
create mode 100644 MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerTraditional.c
create mode 100644 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c
create mode 100644 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c
copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c => DxeStandaloneMmAcpiTimerLib.c} (86%)
create mode 100644 PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneMmAcpiTimerLib.c
copy SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPresenceLib.c => MmTcg2PhysicalPresenceLibCommon.c} (90%)
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
rename StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ => AArch64}/StandaloneMmCoreHobLib.c (55%)
create mode 100644 StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Common.c
create mode 100644 StandaloneMmPkg/Library/StandaloneMmCoreHobLib/X64/StandaloneMmCoreHobLib.c
create mode 100644 StandaloneMmPkg/Library/StandaloneMmMemLib/X86StandaloneMmMemLibInternal.c
copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Mm.c} (93%)
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} (56%)
create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/MmSmiHandlerProfileLib.h
create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/StandaloneMmSmiHandlerProfileLib.inf
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} (72%)
create mode 100644 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.inf
rename MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.h => StatusCodeHandlerMm.h} (87%)
copy MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.inf => StatusCodeHandlerStandaloneMm.inf} (62%)
copy MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLib.inf => UefiDevicePathLibStandaloneMm.inf} (79%)
create mode 100644 PcAtChipsetPkg/Library/AcpiTimerLib/DxeStandaloneMmAcpiTimerLib.h
copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf => StandaloneMmAcpiTimerLib.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 => CpuIo2Mm.h} (93%)
copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf} (56%)
[edk2-devel] [PATCH v4 00/20] Extends Support of MM_STANDALONE Type Modules to X64
Posted by Kun Qin 3 years, 2 months ago
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3129

This patch series is a follow up of previous submission:
https://edk2.groups.io/g/devel/message/70329

These module changes are validated on two different physical platforms.
Standalone and traditional MM are both tested to be functional on these
systems.

v4 patches mainly focus on feedback for reviewed commits in v3 patches,
including:
a. Adding "Reviewed-by" tags for applicable patches;
b. Breaking CpuIo2Smm patch for file renaming and abstraction purpose;
c. Adding SmmSmiHandlerProfileLib coverage;

Patch v4 branch: https://github.com/kuqin12/edk2/tree/standalone_x64_v4

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Yuwei Chen <yuwei.chen@intel.com>
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 (20):
  BaseTools: Ecc/exception: Added _ModuleEntryPoint into exception list
  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: StatusCodeHandler: StatusCodeHandler driver in
    StandaloneMm
  MdeModulePkg: FirmwarePerformanceDataTable: Added StandaloneMm support
  MdeModulePkg: ReportStatusCodeRouter: Support StandaloneMm RSC Router
  MdeModulePkg: SmmSmiHandlerProfileLib: Support StandaloneMm Instance
  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: Move CpuIo2Smm driver to consume gMmst
  UefiCpuPkg: CpuIo2Smm: Abstract SMM specific functions into separate
    file
  UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm
  UefiCpuPkg: SmmCpuExceptionHandlerLib: Added StandaloneMm module
    support

 MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.c => SmmLockBoxMmLib.c}                                                    |  82 ++---
 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxStandaloneMmLib.c                                                                  |  53 +++
 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxTraditionalMmLib.c                                                                 |  53 +++
 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.c                                                               |  16 +-
 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibStandaloneMm.c                                                   |  38 ++
 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLibTraditional.c                                                    |  38 ++
 MdeModulePkg/Library/SmmSmiHandlerProfileLib/{SmmSmiHandlerProfileLib.c => MmSmiHandlerProfileLib.c}                            |  20 +-
 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.c                                                          |  90 +----
 MdeModulePkg/Library/SmmSmiHandlerProfileLib/StandaloneMmSmiHandlerProfileLib.c                                                 |  31 ++
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{FirmwarePerformanceSmm.c => FirmwarePerformanceCommon.c}           |  76 ++--
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceStandaloneMm.c                                   |  61 ++++
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceTraditional.c                                    |  61 ++++
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCodeRouterSmm.c => ReportStatusCodeRouterCommon.c}               |  59 ++-
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.c                                          |  33 ++
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterTraditional.c                                           |  33 ++
 MdeModulePkg/Universal/StatusCodeHandler/Smm/MemoryStatusCodeWorker.c                                                           |  36 +-
 MdeModulePkg/Universal/StatusCodeHandler/Smm/SerialStatusCodeWorker.c                                                           |   2 +-
 MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.c => StatusCodeHandlerMm.c}                                  |  23 +-
 MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerStandalone.c                                                      |  31 ++
 MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerTraditional.c                                                     |  31 ++
 MdePkg/Library/UefiDevicePathLib/DevicePathUtilities.c                                                                          |  33 --
 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c                                                                    |  51 +++
 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c                                                              |  40 ++
 PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c                                                                           |  81 +---
 PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c => DxeStandaloneMmAcpiTimerLib.c}                                        |   9 +-
 PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneMmAcpiTimerLib.c                                                                  |  31 ++
 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPresenceLib.c => MmTcg2PhysicalPresenceLibCommon.c}              |  33 +-
 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresenceLib.c                                                     | 368 +------------------
 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/StandaloneMmTcg2PhysicalPresenceLib.c                                            |  42 +++
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.c                                                                       |  42 +--
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmBase.c                                                                   |  68 ++++
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpmStandaloneMm.c                                                           |  66 ++++
 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                                           | 272 --------------
 StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Common.c                                                                         | 291 +++++++++++++++
 StandaloneMmPkg/Library/StandaloneMmCoreHobLib/X64/StandaloneMmCoreHobLib.c                                                     | 298 +++++++++++++++
 StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.c                               |   6 +-
 StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneMmMemLibInternal.c                                                 |  27 ++
 StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c                                                                 |  52 +++
 StandaloneMmPkg/Library/StandaloneMmMemLib/X86StandaloneMmMemLibInternal.c                                                      | 155 ++++++++
 UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Mm.c}                                                                                |  17 +-
 UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.c                                                                                                | 385 +-------------------
 UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c                                                                                       |  32 ++
 BaseTools/Source/Python/Ecc/exception.xml                                                                                       |   4 +
 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxLibPrivate.h                                                                       |  25 ++
 MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf                                                                         |  15 +-
 MdeModulePkg/Library/SmmLockBoxLib/{SmmLockBoxSmmLib.inf => SmmLockBoxStandaloneMmLib.inf}                                      |  26 +-
 MdeModulePkg/Library/SmmReportStatusCodeLib/ReportStatusCodeLib.h                                                               |  36 ++
 MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf                                                          |   4 +-
 MdeModulePkg/Library/SmmReportStatusCodeLib/{SmmReportStatusCodeLib.inf => StandaloneMmReportStatusCodeLib.inf}                 |  22 +-
 MdeModulePkg/Library/SmmSmiHandlerProfileLib/MmSmiHandlerProfileLib.h                                                           |  23 ++
 MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.inf                                                        |   4 +-
 MdeModulePkg/Library/SmmSmiHandlerProfileLib/StandaloneMmSmiHandlerProfileLib.inf                                               |  44 +++
 MdeModulePkg/MdeModulePkg.dsc                                                                                                   |   8 +
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceCommon.h                                         |  50 +++
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf                                          |  11 +-
 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{FirmwarePerformanceSmm.inf => FirmwarePerformanceStandaloneMm.inf} |  31 +-
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCodeRouterSmm.h => ReportStatusCodeRouterCommon.h}               |  46 ++-
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf                                                 |  13 +-
 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.inf                                        |  49 +++
 MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.h => StatusCodeHandlerMm.h}                                  |  23 +-
 MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSmm.inf                                                           |  15 +-
 MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.inf => StatusCodeHandlerStandaloneMm.inf}                    |  32 +-
 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/DxeAcpiTimerLib.inf                                                                         |   2 +
 PcAtChipsetPkg/Library/AcpiTimerLib/DxeStandaloneMmAcpiTimerLib.h                                                               |  24 ++
 PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf => StandaloneMmAcpiTimerLib.inf}                                       |  19 +-
 PcAtChipsetPkg/PcAtChipsetPkg.dsc                                                                                               |   1 +
 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/MmTcg2PhysicalPresenceLibCommon.h                                                |  34 ++
 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                                                                       |  67 ++++
 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                                                       |  11 +-
 StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf                                                               |  13 +-
 UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.h => CpuIo2Mm.h}                                                                                |  14 +-
 UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf                                                                                              |   5 +-
 UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf}                                                                  |  24 +-
 UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf                                                         |   2 +-
 UefiCpuPkg/UefiCpuPkg.dsc                                                                                                       |   6 +
 90 files changed, 2503 insertions(+), 1661 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
 copy MdeModulePkg/Library/SmmSmiHandlerProfileLib/{SmmSmiHandlerProfileLib.c => MmSmiHandlerProfileLib.c} (86%)
 create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/StandaloneMmSmiHandlerProfileLib.c
 rename MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/{FirmwarePerformanceSmm.c => FirmwarePerformanceCommon.c} (75%)
 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} (74%)
 create mode 100644 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.c
 create mode 100644 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterTraditional.c
 rename MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.c => StatusCodeHandlerMm.c} (69%)
 create mode 100644 MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerStandalone.c
 create mode 100644 MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerTraditional.c
 create mode 100644 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesDxeSmm.c
 create mode 100644 MdePkg/Library/UefiDevicePathLib/DevicePathUtilitiesStandaloneMm.c
 copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.c => DxeStandaloneMmAcpiTimerLib.c} (86%)
 create mode 100644 PcAtChipsetPkg/Library/AcpiTimerLib/StandaloneMmAcpiTimerLib.c
 copy SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/{SmmTcg2PhysicalPresenceLib.c => MmTcg2PhysicalPresenceLibCommon.c} (90%)
 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
 rename StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{ => AArch64}/StandaloneMmCoreHobLib.c (55%)
 create mode 100644 StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Common.c
 create mode 100644 StandaloneMmPkg/Library/StandaloneMmCoreHobLib/X64/StandaloneMmCoreHobLib.c
 create mode 100644 StandaloneMmPkg/Library/StandaloneMmMemLib/X86StandaloneMmMemLibInternal.c
 copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.c => CpuIo2Mm.c} (93%)
 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} (56%)
 create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/MmSmiHandlerProfileLib.h
 create mode 100644 MdeModulePkg/Library/SmmSmiHandlerProfileLib/StandaloneMmSmiHandlerProfileLib.inf
 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} (72%)
 create mode 100644 MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.inf
 rename MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.h => StatusCodeHandlerMm.h} (87%)
 copy MdeModulePkg/Universal/StatusCodeHandler/Smm/{StatusCodeHandlerSmm.inf => StatusCodeHandlerStandaloneMm.inf} (62%)
 copy MdePkg/Library/UefiDevicePathLib/{UefiDevicePathLib.inf => UefiDevicePathLibStandaloneMm.inf} (79%)
 create mode 100644 PcAtChipsetPkg/Library/AcpiTimerLib/DxeStandaloneMmAcpiTimerLib.h
 copy PcAtChipsetPkg/Library/AcpiTimerLib/{DxeAcpiTimerLib.inf => StandaloneMmAcpiTimerLib.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 => CpuIo2Mm.h} (93%)
 copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf} (56%)

-- 
2.30.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70788): https://edk2.groups.io/g/devel/message/70788
Mute This Topic: https://groups.io/mt/80139692/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH v4 00/20] Extends Support of MM_STANDALONE Type Modules to X64
Posted by Laszlo Ersek 3 years, 2 months ago
On 01/26/21 20:44, Kun Qin wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3129
> 
> This patch series is a follow up of previous submission:
> https://edk2.groups.io/g/devel/message/70329
> 
> These module changes are validated on two different physical platforms.
> Standalone and traditional MM are both tested to be functional on these
> systems.
> 
> v4 patches mainly focus on feedback for reviewed commits in v3 patches,
> including:
> a. Adding "Reviewed-by" tags for applicable patches;
> b. Breaking CpuIo2Smm patch for file renaming and abstraction purpose;
> c. Adding SmmSmiHandlerProfileLib coverage;
> 
> Patch v4 branch: https://github.com/kuqin12/edk2/tree/standalone_x64_v4

>   UefiCpuPkg: CpuIo2Smm: Abstract SMM specific functions into separate
>     file
>   UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm

On these patches (v4 #18, v4 #19), I defer to other UefiCpuPkg reviewers.

Thanks
Laszlo



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#70810): https://edk2.groups.io/g/devel/message/70810
Mute This Topic: https://groups.io/mt/80139692/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-