Reviewed-by: Ray Ni <ray...@intel.com>

> -----Original Message-----
> From: Dong, Guo <guo.d...@intel.com>
> Sent: Sunday, September 26, 2021 7:05 AM
> To: devel@edk2.groups.io
> Cc: Ni, Ray <ray...@intel.com>; Ma, Maurice <maurice...@intel.com>; You, 
> Benjamin <benjamin....@intel.com>; Dong, Guo
> <guo.d...@intel.com>
> Subject: [`edk2-devel][PATCH 0/8] Add SMM variable support for UEFI payload
> 
> From: Guo Dong <guo.d...@intel.com>
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=3084
> 
> Currently UEFI payload uses emulated variable driver. So it could
> not support secureboot and measured boot since both need NV variable
> support.
> 
> EDKII already has SMM modules and variable modules. And modern Intel
> platform supports SPI flash hardware sequence to operate flash. So it
> is possible to have a common SPI module for Intel platforms.
> 
> This patch enhances UEFI payload to support SMM variable with a
> common SPI library for Intel platforms. To avoid impact existing
> usage, all the new modules are included under SMM_ENABLE and
> VARIABLE_SUPPORT and by default SMM variable is not be enabled.
> 
> SMM variable could be enabled only when UNIVERSAL_PAYLOAD is set
> since non-universal payload need update ParseLib to provide SMM
> variable related infromation which is not in the plan.
> 
> Signed-off-by: Guo Dong <guo.d...@intel.com>
> 
> Guo Dong (8):
>   UefiPayloadPkg: Add a common SmmAccessDxe module
>   UefiPayloadPkg: Add a common SMM control Runtime DXE module
>   UefiPayloadPkg: Add bootloader SMM support module
>   UefiPayloadPkg: Add SpiFlashLib
>   UefiPayloadPkg: Add FlashDeviceLib
>   UefiPayloadPkg: Add a common FVB SMM module
>   UefiPayloadPkg: Add a SMM dispatch module
>   UefiPayloadPkg: Add SMM support and SMM variable support
> 
>  UefiPayloadPkg/BlSupportSmm/BlSupportSmm.c    |  409 +++++++
>  UefiPayloadPkg/BlSupportSmm/BlSupportSmm.h    |   41 +
>  UefiPayloadPkg/BlSupportSmm/BlSupportSmm.inf  |   49 +
>  UefiPayloadPkg/FvbRuntimeDxe/FvbInfo.c        |  143 +++
>  UefiPayloadPkg/FvbRuntimeDxe/FvbService.c     | 1085 +++++++++++++++++
>  UefiPayloadPkg/FvbRuntimeDxe/FvbService.h     |  187 +++
>  UefiPayloadPkg/FvbRuntimeDxe/FvbServiceSmm.c  |  139 +++
>  UefiPayloadPkg/FvbRuntimeDxe/FvbSmm.inf       |   71 ++
>  UefiPayloadPkg/FvbRuntimeDxe/FvbSmmCommon.h   |   69 ++
>  .../Include/Guid/NvVariableInfoGuid.h         |   30 +
>  .../Include/Guid/SmmRegisterInfoGuid.h        |   48 +
>  .../Include/Guid/SmmS3CommunicationInfoGuid.h |   54 +
>  .../Include/Guid/SpiFlashInfoGuid.h           |   38 +
>  .../Include/Library/FlashDeviceLib.h          |  108 ++
>  UefiPayloadPkg/Include/Library/SpiFlashLib.h  |  215 ++++
>  .../Library/FlashDeviceLib/FlashDeviceLib.c   |  165 +++
>  .../Library/FlashDeviceLib/FlashDeviceLib.inf |   38 +
>  UefiPayloadPkg/Library/SpiFlashLib/PchSpi.c   |  180 +++
>  UefiPayloadPkg/Library/SpiFlashLib/RegsSpi.h  |  129 ++
>  .../Library/SpiFlashLib/SpiCommon.h           |  208 ++++
>  .../Library/SpiFlashLib/SpiFlashLib.c         |  857 +++++++++++++
>  .../Library/SpiFlashLib/SpiFlashLib.inf       |   47 +
>  .../PchSmiDispatchSmm/PchSmiDispatchSmm.c     |  455 +++++++
>  .../PchSmiDispatchSmm/PchSmiDispatchSmm.h     |   39 +
>  .../PchSmiDispatchSmm/PchSmiDispatchSmm.inf   |   51 +
>  UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.c    |  254 ++++
>  UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.h    |   38 +
>  UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.inf  |   51 +
>  .../SmmControlRuntimeDxe.c                    |  252 ++++
>  .../SmmControlRuntimeDxe.inf                  |   50 +
>  UefiPayloadPkg/UefiPayloadPkg.dec             |   10 +
>  UefiPayloadPkg/UefiPayloadPkg.dsc             |  101 +-
>  UefiPayloadPkg/UefiPayloadPkg.fdf             |   38 +-
>  33 files changed, 5638 insertions(+), 11 deletions(-)
>  create mode 100644 UefiPayloadPkg/BlSupportSmm/BlSupportSmm.c
>  create mode 100644 UefiPayloadPkg/BlSupportSmm/BlSupportSmm.h
>  create mode 100644 UefiPayloadPkg/BlSupportSmm/BlSupportSmm.inf
>  create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbInfo.c
>  create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbService.c
>  create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbService.h
>  create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbServiceSmm.c
>  create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbSmm.inf
>  create mode 100644 UefiPayloadPkg/FvbRuntimeDxe/FvbSmmCommon.h
>  create mode 100644 UefiPayloadPkg/Include/Guid/NvVariableInfoGuid.h
>  create mode 100644 UefiPayloadPkg/Include/Guid/SmmRegisterInfoGuid.h
>  create mode 100644 UefiPayloadPkg/Include/Guid/SmmS3CommunicationInfoGuid.h
>  create mode 100644 UefiPayloadPkg/Include/Guid/SpiFlashInfoGuid.h
>  create mode 100644 UefiPayloadPkg/Include/Library/FlashDeviceLib.h
>  create mode 100644 UefiPayloadPkg/Include/Library/SpiFlashLib.h
>  create mode 100644 UefiPayloadPkg/Library/FlashDeviceLib/FlashDeviceLib.c
>  create mode 100644 UefiPayloadPkg/Library/FlashDeviceLib/FlashDeviceLib.inf
>  create mode 100644 UefiPayloadPkg/Library/SpiFlashLib/PchSpi.c
>  create mode 100644 UefiPayloadPkg/Library/SpiFlashLib/RegsSpi.h
>  create mode 100644 UefiPayloadPkg/Library/SpiFlashLib/SpiCommon.h
>  create mode 100644 UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.c
>  create mode 100644 UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.inf
>  create mode 100644 UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.c
>  create mode 100644 UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.h
>  create mode 100644 UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf
>  create mode 100644 UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.c
>  create mode 100644 UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.h
>  create mode 100644 UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.inf
>  create mode 100644 UefiPayloadPkg/SmmControlRuntimeDxe/SmmControlRuntimeDxe.c
>  create mode 100644 
> UefiPayloadPkg/SmmControlRuntimeDxe/SmmControlRuntimeDxe.inf
> 
> --
> 2.32.0.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#81295): https://edk2.groups.io/g/devel/message/81295
Mute This Topic: https://groups.io/mt/85870022/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to