This is the first of cleanup for SEV MemEncryptLib. The library uses
the CPUID followed by the MSR read to determine whether SEV is enabled.

Now that we have a workarea concept, the logic can be simplified to
store the msr status in workarea and use that to build PCDs and then
later simply use the PCDs instead of going through the CPUID and RDMSR.

The complete branch is available at
  https://github.com/codomania/edk2/tree/sev-workarea-cleanup

The series also fixes one of the issue raised in the bug
https://bugzilla.tianocore.org/show_bug.cgi?id=3582

Changes since v1:
 * Cache the PCD reads so that we can avoid reading PCD while performing the
   virtual pointer conversion.

Brijesh Singh (2):
  OvmfPkg/ResetVector: cache the SEV status MSR value in workarea
  OvmfPkg/BaseMemEncryptLib: use the SEV_STATUS MSR value from workarea

 .../DxeMemEncryptSevLib.inf                   |   1 +
 .../PeiMemEncryptSevLib.inf                   |   1 +
 .../SecMemEncryptSevLib.inf                   |   1 +
 OvmfPkg/Include/WorkArea.h                    |  12 +-
 .../DxeMemEncryptSevLibInternal.c             | 145 ++++++++----------
 .../PeiMemEncryptSevLibInternal.c             | 139 ++++++-----------
 .../SecMemEncryptSevLibInternal.c             |  80 +++++-----
 OvmfPkg/Sec/AmdSev.c                          |   2 +-
 OvmfPkg/ResetVector/Ia32/AmdSev.asm           |  38 +++--
 OvmfPkg/ResetVector/Ia32/Flat32ToFlat64.asm   |   3 +-
 OvmfPkg/ResetVector/ResetVector.nasmb         |   3 +
 11 files changed, 194 insertions(+), 231 deletions(-)

-- 
2.25.1



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


Reply via email to