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

-- 
1.8.3.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to