[edk2-devel] [PATCH v2 0/2] SEV BaseMemEncryptLib cleanup

Brijesh Singh via groups.io posted 2 patches 2 years, 2 months ago
Failed in applying to current master (apply log)
.../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(-)
[edk2-devel] [PATCH v2 0/2] SEV BaseMemEncryptLib cleanup
Posted by Brijesh Singh via groups.io 2 years, 2 months ago
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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH v2 0/2] SEV BaseMemEncryptLib cleanup
Posted by Yao, Jiewen 2 years, 1 month ago
Acked-by: Jiewen Yao <Jiewen.yao@intel.com>

> -----Original Message-----
> From: Brijesh Singh <brijesh.singh@amd.com>
> Sent: Monday, February 21, 2022 10:59 PM
> To: devel@edk2.groups.io
> Cc: James Bottomley <jejb@linux.ibm.com>; Xu, Min M <min.m.xu@intel.com>;
> Yao, Jiewen <jiewen.yao@intel.com>; Tom Lendacky
> <thomas.lendacky@amd.com>; Justen, Jordan L <jordan.l.justen@intel.com>;
> Ard Biesheuvel <ardb+tianocore@kernel.org>; Aktas, Erdem
> <erdemaktas@google.com>; Michael Roth <Michael.Roth@amd.com>; Gerd
> Hoffmann <kraxel@redhat.com>; aaron.young@oracle.com; Brijesh Singh
> <brijesh.singh@amd.com>
> Subject: [PATCH v2 0/2] SEV BaseMemEncryptLib cleanup
> 
> 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 (#87042): https://edk2.groups.io/g/devel/message/87042
Mute This Topic: https://groups.io/mt/89295063/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-