From: "Kun Qin" <kun.q@outlook.com>
To: devel@edk2.groups.io
Cc: Jian J Wang <jian.j.wang@intel.com>,
Hao A Wu <hao.a.wu@intel.com>, Eric Dong <eric.dong@intel.com>,
Dandan Bi <dandan.bi@intel.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Michael D Kinney <michael.d.kinney@intel.com>,
Zhiguang Liu <zhiguang.liu@intel.com>, Ray Ni <ray.ni@intel.com>,
Jiewen Yao <jiewen.yao@intel.com>, Qi Zhang <qi1.zhang@intel.com>,
Rahul Kumar <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: [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64
Date: Fri, 18 Dec 2020 10:49:56 -0800 [thread overview]
Message-ID: <MWHPR06MB310260614363A28D287D72A1F3C30@MWHPR06MB3102.namprd06.prod.outlook.com> (raw)
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
next reply other threads:[~2020-12-18 18:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-18 18:49 Kun Qin [this message]
2020-12-19 3:58 ` [edk2-devel] [PATCH v1 00/15] Extends Support of MM_STANDALONE Type Modules to X64 Yao, Jiewen
2020-12-19 9:38 ` Kun Qin
2020-12-19 14:24 ` Yao, Jiewen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=MWHPR06MB310260614363A28D287D72A1F3C30@MWHPR06MB3102.namprd06.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox