* [PATCH v3 00/18] Extends Support of MM_STANDALONE Type Modules to X64
@ 2021-01-14 22:33 Kun Qin
0 siblings, 0 replies; only message in thread
From: Kun Qin @ 2021-01-14 22:33 UTC (permalink / raw)
To: devel
Cc: Bob Feng, Yuwei Chen, 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
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/69729
These module changes are validated on two different physical platforms.
Standalone and traditional MM are both tested to be functional on these
systems.
v3 patches mainly focus on feedback for reviewed commits in v2 patches,
including:
a. Adding "Reviewed-by" tags for applicable patches;
b. Breaking CpuIo2Smm patch into 2 smaller ones;
c. Renaming internal file for AcpiTimerLib to avoid confusion;
d. Fixing CI build failures caused by ECC checks;
Patch v3 branch: https://github.com/kuqin12/edk2/tree/standalone_x64_v3
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 (18):
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
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: 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/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 | 15 +-
UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c | 32 ++
UefiCpuPkg/CpuIo2Smm/CpuIo2TraditionalMm.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/MdeModulePkg.dsc | 7 +
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 | 14 +-
UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf | 5 +-
UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf} | 20 +-
UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf | 2 +-
UefiCpuPkg/UefiCpuPkg.dsc | 6 +
84 files changed, 2410 insertions(+), 1182 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} (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
create mode 100644 UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c
create mode 100644 UefiCpuPkg/CpuIo2Smm/CpuIo2TraditionalMm.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/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%)
copy UefiCpuPkg/CpuIo2Smm/{CpuIo2Smm.inf => CpuIo2StandaloneMm.inf} (58%)
--
2.30.0.windows.1
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-01-14 22:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-14 22:33 [PATCH v3 00/18] Extends Support of MM_STANDALONE Type Modules to X64 Kun Qin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox