public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [`edk2-devel][PATCH 0/8] Add SMM variable support for UEFI payload
@ 2021-09-25 23:05 Guo Dong
  2021-09-25 23:05 ` [`edk2-devel][PATCH 1/8] UefiPayloadPkg: Add a common SmmAccessDxe module Guo Dong
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Guo Dong @ 2021-09-25 23:05 UTC (permalink / raw)
  To: devel; +Cc: ray.ni, maurice.ma, benjamin.you, Guo Dong

From: Guo Dong <guo.dong@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.dong@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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-09-30  0:11 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-09-25 23:05 [`edk2-devel][PATCH 0/8] Add SMM variable support for UEFI payload Guo Dong
2021-09-25 23:05 ` [`edk2-devel][PATCH 1/8] UefiPayloadPkg: Add a common SmmAccessDxe module Guo Dong
2021-09-25 23:05 ` [`edk2-devel][PATCH 2/8] UefiPayloadPkg: Add a common SMM control Runtime DXE module Guo Dong
2021-09-25 23:05 ` [`edk2-devel][PATCH 3/8] UefiPayloadPkg: Add bootloader SMM support module Guo Dong
2021-09-25 23:05 ` [`edk2-devel][PATCH 4/8] UefiPayloadPkg: Add SpiFlashLib Guo Dong
2021-09-25 23:05 ` [`edk2-devel][PATCH 5/8] UefiPayloadPkg: Add FlashDeviceLib Guo Dong
2021-09-25 23:05 ` [`edk2-devel][PATCH 6/8] UefiPayloadPkg: Add a common FVB SMM module Guo Dong
2021-09-25 23:05 ` [`edk2-devel][PATCH 7/8] UefiPayloadPkg: Add a SMM dispatch module Guo Dong
2021-09-25 23:05 ` [`edk2-devel][PATCH 8/8] UefiPayloadPkg: Add SMM support and SMM variable support Guo Dong
2021-09-30  0:11 ` [`edk2-devel][PATCH 0/8] Add SMM variable support for UEFI payload Ni, Ray

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox