OvmfPkg/OvmfPkg.dec | 12 +++ OvmfPkg/OvmfPkgX64.fdf | 9 +- OvmfPkg/PlatformPei/PlatformPei.inf | 4 +- OvmfPkg/ResetVector/ResetVector.inf | 1 + OvmfPkg/Sec/SecMain.inf | 2 + OvmfPkg/Include/Library/MemEncryptSevLib.h | 21 +--- OvmfPkg/Include/WorkArea.h | 67 +++++++++++++ OvmfPkg/PlatformPei/MemDetect.c | 8 +- OvmfPkg/Sec/SecMain.c | 36 ++++++- OvmfPkg/OvmfPkgDefines.fdf.inc | 6 ++ OvmfPkg/ResetVector/Ia32/AmdSev.asm | 109 +++++++++++++++++---- OvmfPkg/ResetVector/Ia32/PageTables64.asm | 57 +++-------- OvmfPkg/ResetVector/ResetVector.nasmb | 1 + 13 files changed, 238 insertions(+), 95 deletions(-) create mode 100644 OvmfPkg/Include/WorkArea.h
Based on the discussion on the mailing list, we agreed that instead of wasting extra page in the MEMFD, we can reuse the SevEsWorkArea buffer for the TDX. To avoid any confusion, lets introduce a OvmfWorkArea that will contains 32 bytes of header followed by the actual workarea. While at it, move the code to clear the GHCB page from PageTable build to AmdSev.asm. I have used the existing TDX BZ for it because the request came during the TDX patch review. if anyone have concern please let me know and I will happily create a new BZ. Full tree is at: https://github.com/AMDESE/ovmf/tree/sev-new-work-area Brijesh Singh (3): OvmfPkg: introduce a common work area OvmfPkg/ResetVector: update SEV support to use new work area format OvmfPkg/ResetVector: move the GHCB page setup in AmdSev.asm Cc: James Bottomley <jejb@linux.ibm.com> Cc: Min Xu <min.m.xu@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Erdem Aktas <erdemaktas@google.com> Changes since v2: - address Tom's feedback Changes since v1: - address Jiewen's feedback. Brijesh Singh (3): OvmfPkg: introduce a common work area OvmfPkg/ResetVector: update SEV support to use new work area format OvmfPkg/ResetVector: move the GHCB page setup in AmdSev.asm OvmfPkg/OvmfPkg.dec | 12 +++ OvmfPkg/OvmfPkgX64.fdf | 9 +- OvmfPkg/PlatformPei/PlatformPei.inf | 4 +- OvmfPkg/ResetVector/ResetVector.inf | 1 + OvmfPkg/Sec/SecMain.inf | 2 + OvmfPkg/Include/Library/MemEncryptSevLib.h | 21 +--- OvmfPkg/Include/WorkArea.h | 67 +++++++++++++ OvmfPkg/PlatformPei/MemDetect.c | 8 +- OvmfPkg/Sec/SecMain.c | 36 ++++++- OvmfPkg/OvmfPkgDefines.fdf.inc | 6 ++ OvmfPkg/ResetVector/Ia32/AmdSev.asm | 109 +++++++++++++++++---- OvmfPkg/ResetVector/Ia32/PageTables64.asm | 57 +++-------- OvmfPkg/ResetVector/ResetVector.nasmb | 1 + 13 files changed, 238 insertions(+), 95 deletions(-) create mode 100644 OvmfPkg/Include/WorkArea.h -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79425): https://edk2.groups.io/g/devel/message/79425 Mute This Topic: https://groups.io/mt/84947963/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Thank you Brijesh. Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com> Since we are in code freeze, I will merge after we finalize the stable tag 202108. Thank you Yao Jiewen > -----Original Message----- > From: Brijesh Singh <brijesh.singh@amd.com> > Sent: Tuesday, August 17, 2021 9:47 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>; Erdem Aktas > <erdemaktas@google.com>; Michael Roth <Michael.Roth@amd.com>; Brijesh > Singh <brijesh.singh@amd.com> > Subject: [PATCH v3 0/3] reuse the SevEsWork area > > Based on the discussion on the mailing list, we agreed that instead > of wasting extra page in the MEMFD, we can reuse the SevEsWorkArea > buffer for the TDX. To avoid any confusion, lets introduce a OvmfWorkArea > that will contains 32 bytes of header followed by the actual workarea. > > While at it, move the code to clear the GHCB page from PageTable build > to AmdSev.asm. > > I have used the existing TDX BZ for it because the request came > during the TDX patch review. if anyone have concern please let me know > and I will happily create a new BZ. > > Full tree is at: https://github.com/AMDESE/ovmf/tree/sev-new-work-area > > Brijesh Singh (3): > OvmfPkg: introduce a common work area > OvmfPkg/ResetVector: update SEV support to use new work area format > OvmfPkg/ResetVector: move the GHCB page setup in AmdSev.asm > > Cc: James Bottomley <jejb@linux.ibm.com> > Cc: Min Xu <min.m.xu@intel.com> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Tom Lendacky <thomas.lendacky@amd.com> > Cc: Jordan Justen <jordan.l.justen@intel.com> > Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> > Cc: Erdem Aktas <erdemaktas@google.com> > > Changes since v2: > - address Tom's feedback > > Changes since v1: > - address Jiewen's feedback. > > Brijesh Singh (3): > OvmfPkg: introduce a common work area > OvmfPkg/ResetVector: update SEV support to use new work area format > OvmfPkg/ResetVector: move the GHCB page setup in AmdSev.asm > > OvmfPkg/OvmfPkg.dec | 12 +++ > OvmfPkg/OvmfPkgX64.fdf | 9 +- > OvmfPkg/PlatformPei/PlatformPei.inf | 4 +- > OvmfPkg/ResetVector/ResetVector.inf | 1 + > OvmfPkg/Sec/SecMain.inf | 2 + > OvmfPkg/Include/Library/MemEncryptSevLib.h | 21 +--- > OvmfPkg/Include/WorkArea.h | 67 +++++++++++++ > OvmfPkg/PlatformPei/MemDetect.c | 8 +- > OvmfPkg/Sec/SecMain.c | 36 ++++++- > OvmfPkg/OvmfPkgDefines.fdf.inc | 6 ++ > OvmfPkg/ResetVector/Ia32/AmdSev.asm | 109 +++++++++++++++++---- > OvmfPkg/ResetVector/Ia32/PageTables64.asm | 57 +++-------- > OvmfPkg/ResetVector/ResetVector.nasmb | 1 + > 13 files changed, 238 insertions(+), 95 deletions(-) > create mode 100644 OvmfPkg/Include/WorkArea.h > > -- > 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79792): https://edk2.groups.io/g/devel/message/79792 Mute This Topic: https://groups.io/mt/84947963/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Patch is pushed - 80e67af9afcac3b860384cdb1f4613f7240e1630.. b9af5037b270c4767b275fd5d23b942c422e742f > -----Original Message----- > From: Brijesh Singh <brijesh.singh@amd.com> > Sent: Tuesday, August 17, 2021 9:47 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>; Erdem Aktas > <erdemaktas@google.com>; Michael Roth <Michael.Roth@amd.com>; Brijesh > Singh <brijesh.singh@amd.com> > Subject: [PATCH v3 0/3] reuse the SevEsWork area > > Based on the discussion on the mailing list, we agreed that instead > of wasting extra page in the MEMFD, we can reuse the SevEsWorkArea > buffer for the TDX. To avoid any confusion, lets introduce a OvmfWorkArea > that will contains 32 bytes of header followed by the actual workarea. > > While at it, move the code to clear the GHCB page from PageTable build > to AmdSev.asm. > > I have used the existing TDX BZ for it because the request came > during the TDX patch review. if anyone have concern please let me know > and I will happily create a new BZ. > > Full tree is at: https://github.com/AMDESE/ovmf/tree/sev-new-work-area > > Brijesh Singh (3): > OvmfPkg: introduce a common work area > OvmfPkg/ResetVector: update SEV support to use new work area format > OvmfPkg/ResetVector: move the GHCB page setup in AmdSev.asm > > Cc: James Bottomley <jejb@linux.ibm.com> > Cc: Min Xu <min.m.xu@intel.com> > Cc: Jiewen Yao <jiewen.yao@intel.com> > Cc: Tom Lendacky <thomas.lendacky@amd.com> > Cc: Jordan Justen <jordan.l.justen@intel.com> > Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> > Cc: Erdem Aktas <erdemaktas@google.com> > > Changes since v2: > - address Tom's feedback > > Changes since v1: > - address Jiewen's feedback. > > Brijesh Singh (3): > OvmfPkg: introduce a common work area > OvmfPkg/ResetVector: update SEV support to use new work area format > OvmfPkg/ResetVector: move the GHCB page setup in AmdSev.asm > > OvmfPkg/OvmfPkg.dec | 12 +++ > OvmfPkg/OvmfPkgX64.fdf | 9 +- > OvmfPkg/PlatformPei/PlatformPei.inf | 4 +- > OvmfPkg/ResetVector/ResetVector.inf | 1 + > OvmfPkg/Sec/SecMain.inf | 2 + > OvmfPkg/Include/Library/MemEncryptSevLib.h | 21 +--- > OvmfPkg/Include/WorkArea.h | 67 +++++++++++++ > OvmfPkg/PlatformPei/MemDetect.c | 8 +- > OvmfPkg/Sec/SecMain.c | 36 ++++++- > OvmfPkg/OvmfPkgDefines.fdf.inc | 6 ++ > OvmfPkg/ResetVector/Ia32/AmdSev.asm | 109 +++++++++++++++++---- > OvmfPkg/ResetVector/Ia32/PageTables64.asm | 57 +++-------- > OvmfPkg/ResetVector/ResetVector.nasmb | 1 + > 13 files changed, 238 insertions(+), 95 deletions(-) > create mode 100644 OvmfPkg/Include/WorkArea.h > > -- > 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79893): https://edk2.groups.io/g/devel/message/79893 Mute This Topic: https://groups.io/mt/84947963/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.