On 11/27/15 03:34, Laszlo Ersek wrote: > Public branch: <https://github.com/lersek/edk2/commits/smm3_v5>. > > The big change in this version is that Mike has flattened, cleaned up, > and incorporated CpuS3DataDxe from OvmfPkg/QuarkPort to UefiCpuPkg. > (Huge kudos for that again!) The OvmfPkg/QuarkPort directory is > therefore gone, as are any other mentions of Quark in the source code > and in the commit messages. > > Another important change is that the series no longer introduces a > separate null implementation of EFI_PEI_SMM_COMMUNICATION_PPI under > OvmfPkg -- kudos to Jiewen for suggesting and accepting a PEI LockBoxLib > patch that has made this possible. > > In addition, the series addresses all agreed-upon v4 feedback, and picks > up all review tags too (some of which were given dependent on addressing > said review feedback). > > In total, the following patches have seen modifications -- please see > their Notes sections individually for the changes: > > [PATCH v5 02/33] OvmfPkg: Sec: force reinit of BaseExtractGuidedSectionLib > handler table > [PATCH v5 07/33] OvmfPkg: add PEIM for providing TSEG-as-SMRAM during PEI > [PATCH v5 08/33] OvmfPkg: add DXE_DRIVER for providing TSEG-as-SMRAM during > boot-time DXE > [PATCH v5 09/33] OvmfPkg: implement EFI_SMM_CONTROL2_PROTOCOL with a > DXE_RUNTIME_DRIVER > [PATCH v5 10/33] OvmfPkg: pull in the SMM IPL and SMM core > [PATCH v5 13/33] OvmfPkg: LockBoxLib: -D SMM_REQUIRE excludes our fake > lockbox > [PATCH v5 14/33] OvmfPkg: PlatformPei: don't allocate fake lockbox if > SMM_REQUIRE > [PATCH v5 19/33] OvmfPkg: select LocalApicLib instance with x2apic support > [PATCH v5 21/33] OvmfPkg: import SmmCpuFeaturesLib from UefiCpuPkg > [PATCH v5 22/33] OvmfPkg: SmmCpuFeaturesLib: remove unnecessary bits > [PATCH v5 27/33] OvmfPkg: build CpuS3DataDxe for -D SMM_REQUIRE > [PATCH v5 28/33] OvmfPkg: build PiSmmCpuDxeSmm for -D SMM_REQUIRE > [PATCH v5 33/33] OvmfPkg: README: document SMM status > > In the process I had to drop two R-b tags from Mike, because I had to > refresh Paolo's patches (marked #21 and #22 above) against the meanwhile > extended "UefiCpuPkg/Library/SmmCpuFeaturesLib" instance. Although the > end result in the "OvmfPkg/Library/SmmCpuFeaturesLib" instance is > exactly the same as before -- modulo the whitespace and comment > cleanups, and the two new empty APIs now inherited from UefiCpuPkg --, I > felt the review process would be cleaner and more integral if Mike took > a look again. Much appreciated. > > Accounting for all of the above, only the following patches need > reviews: > > [PATCH v5 21/33] OvmfPkg: import SmmCpuFeaturesLib from UefiCpuPkg > [PATCH v5 22/33] OvmfPkg: SmmCpuFeaturesLib: remove unnecessary bits > [PATCH v5 27/33] OvmfPkg: build CpuS3DataDxe for -D SMM_REQUIRE > > After which I plan to commit the series. > > Cc: Paolo Bonzini <pbonz...@redhat.com> > Cc: Jordan Justen <jordan.l.jus...@intel.com> > Cc: Michael Kinney <michael.d.kin...@intel.com> > Cc: Jiewen Yao <jiewen....@intel.com> > > Thanks > Laszlo > > Laszlo Ersek (27): > OvmfPkg: introduce -D SMM_REQUIRE and PcdSmmSmramRequire > OvmfPkg: Sec: force reinit of BaseExtractGuidedSectionLib handler > table > OvmfPkg: Sec: assert the build-time calculated end of the scratch > buffer > OvmfPkg: decompress FVs on S3 resume if SMM_REQUIRE is set > OvmfPkg: PlatformPei: allow caching in AddReservedMemoryBaseSizeHob() > OvmfPkg: PlatformPei: account for TSEG size with PcdSmmSmramRequire > set > OvmfPkg: add PEIM for providing TSEG-as-SMRAM during PEI > OvmfPkg: add DXE_DRIVER for providing TSEG-as-SMRAM during boot-time > DXE > OvmfPkg: implement EFI_SMM_CONTROL2_PROTOCOL with a DXE_RUNTIME_DRIVER > OvmfPkg: pull in the SMM IPL and SMM core > OvmfPkg: pull in CpuIo2Smm driver > OvmfPkg: AcpiS3SaveDxe: don't fake LockBox protocol if SMM_REQUIRE > OvmfPkg: LockBoxLib: -D SMM_REQUIRE excludes our fake lockbox > OvmfPkg: PlatformPei: don't allocate fake lockbox if SMM_REQUIRE > OvmfPkg: LockBox: use SMM stack with -D SMM_REQUIRE > OvmfPkg: resolve ReportStatusCodeLib for DXE_SMM_DRIVER modules > OvmfPkg: resolve CpuExceptionHandlerLib for DXE_SMM_DRIVER modules > OvmfPkg: select LocalApicLib instance with x2apic support > OvmfPkg: set gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection to > FALSE > OvmfPkg: any AP in SMM should not wait for the BSP for more than 100 > ms > OvmfPkg: build CpuS3DataDxe for -D SMM_REQUIRE > OvmfPkg: build PiSmmCpuDxeSmm for -D SMM_REQUIRE > OvmfPkg: QemuFlashFvbServicesRuntimeDxe: add DXE_SMM_DRIVER build > OvmfPkg: QemuFlashFvbServicesRuntimeDxe: adhere to -D SMM_REQUIRE > OvmfPkg: consolidate variable driver stack in DSC and FDF files > OvmfPkg: pull in SMM-based variable driver stack > OvmfPkg: README: document SMM status > > Michael Kinney (1): > OvmfPkg: resolve DebugAgentLib for DXE_SMM_DRIVER modules > > Paolo Bonzini (5): > OvmfPkg: import SmmCpuFeaturesLib from UefiCpuPkg > OvmfPkg: SmmCpuFeaturesLib: remove unnecessary bits > OvmfPkg: SmmCpuFeaturesLib: implement SMRAM state save map access > OvmfPkg: SmmCpuFeaturesLib: customize state save map format > OvmfPkg: use relaxed AP SMM synchronization mode > > OvmfPkg/OvmfPkg.dec > | 18 + > OvmfPkg/OvmfPkgIa32.dsc > | 120 ++- > OvmfPkg/OvmfPkgIa32X64.dsc > | 120 ++- > OvmfPkg/OvmfPkgX64.dsc > | 120 ++- > OvmfPkg/OvmfPkgIa32.fdf > | 57 +- > OvmfPkg/OvmfPkgIa32X64.fdf > | 57 +- > OvmfPkg/OvmfPkgX64.fdf > | 57 +- > OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf > | 3 +- > OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf > | 3 + > OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf > | 3 + > OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf > | 38 + > OvmfPkg/PlatformPei/PlatformPei.inf > | 5 + > OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf > | 2 + > OvmfPkg/QemuFlashFvbServicesRuntimeDxe/{FvbServicesRuntimeDxe.inf => > FvbServicesSmm.inf} | 27 +- > OvmfPkg/Sec/SecMain.inf > | 6 + > OvmfPkg/SmmAccess/SmmAccess2Dxe.inf > | 58 ++ > OvmfPkg/SmmAccess/SmmAccessPei.inf > | 69 ++ > OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > | 66 ++ > OvmfPkg/Include/Register/QemuSmramSaveStateMap.h > | 184 +++++ > OvmfPkg/PlatformPei/Platform.h > | 3 +- > OvmfPkg/SmmAccess/SmramInternal.h > | 89 +++ > OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c > | 14 +- > OvmfPkg/Library/LockBoxLib/LockBoxLib.c > | 2 + > OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c > | 834 ++++++++++++++++++++ > OvmfPkg/PlatformPei/Fv.c > | 27 +- > OvmfPkg/PlatformPei/MemDetect.c > | 85 +- > OvmfPkg/PlatformPei/Platform.c > | 9 +- > OvmfPkg/PlatformPei/Xen.c > | 2 +- > OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockServiceDxe.c > | 3 + > OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockServiceSmm.c > | 69 ++ > OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c > | 1 + > OvmfPkg/Sec/SecMain.c > | 37 +- > OvmfPkg/SmmAccess/SmmAccess2Dxe.c > | 156 ++++ > OvmfPkg/SmmAccess/SmmAccessPei.c > | 393 +++++++++ > OvmfPkg/SmmAccess/SmramInternal.c > | 188 +++++ > OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.c > | 366 +++++++++ > OvmfPkg/DecomprScratchEnd.fdf.inc > | 72 ++ > OvmfPkg/OvmfPkg.fdf.inc > | 2 + > OvmfPkg/README > | 57 ++ > 39 files changed, 3327 insertions(+), 95 deletions(-) > create mode 100644 OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf > copy OvmfPkg/QemuFlashFvbServicesRuntimeDxe/{FvbServicesRuntimeDxe.inf => > FvbServicesSmm.inf} (75%) > create mode 100644 OvmfPkg/SmmAccess/SmmAccess2Dxe.inf > create mode 100644 OvmfPkg/SmmAccess/SmmAccessPei.inf > create mode 100644 OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf > create mode 100644 OvmfPkg/Include/Register/QemuSmramSaveStateMap.h > create mode 100644 OvmfPkg/SmmAccess/SmramInternal.h > create mode 100644 OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c > create mode 100644 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockServiceSmm.c > create mode 100644 OvmfPkg/SmmAccess/SmmAccess2Dxe.c > create mode 100644 OvmfPkg/SmmAccess/SmmAccessPei.c > create mode 100644 OvmfPkg/SmmAccess/SmramInternal.c > create mode 100644 OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.c > create mode 100644 OvmfPkg/DecomprScratchEnd.fdf.inc >
* Committed to SVN as r19034..r19066. * In the commit message of patch 27 ("OvmfPkg: build CpuS3DataDxe for -D SMM_REQUIRE"), I fixed a typo before commit: I replaced "S3ResumePei" with "S3Resume2Pei". * In some of the commit messages, I had to insert an empty line between various tags, because the SVN commit hooks complained. This was necessary typically with: Signed-off-by: Contributor One [some...@example.com: blah, blah, blah] Signed-off-by: Contributor Two The SVN commit hooks wanted an empty line between "[some...@example.com: ...]" and the next tag. * Many thanks to everyone who helped make this happen. Laszlo _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel