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] -=-=-=-=-=-=-=-=-=-=-=-