Jiewen: I have gave my reviewed-by for the change in MdePkg. I agree its impact is small. I think this patch set can be merged for this stable tag.
Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Yao, Jiewen > 发送时间: 2023年11月8日 21:29 > 收件人: devel@edk2.groups.io; Yao, Jiewen <jiewen....@intel.com>; Sun, > CepingX <cepingx....@intel.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; Gao, Liming <gaolim...@byosoft.com.cn> > 抄送: Aktas, Erdem <erdemak...@google.com>; James Bottomley > <j...@linux.ibm.com>; Xu, Min M <min.m...@intel.com>; Tom Lendacky > <thomas.lenda...@amd.com>; Michael Roth <michael.r...@amd.com>; > Gerd Hoffmann <kra...@redhat.com> > 主题: Re: [edk2-devel] [PATCH V4 0/3] OvmfPkg: Update TdVmCall to handle > the retry for MapGPA > > Hi Liming and Mike > Would you please review the MdePkg update? > > This patch was sent before soft freeze. > I request that it be in 202311 release because this patch is required by the > latest KVM/QEMU. > This patch only impacts Intel TDX, and has no impact to other CC (AMD SEV) > or non-CC module. > > Thank you > Yao, Jiewen > > > > -----Original Message----- > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Yao, > Jiewen > > Sent: Wednesday, November 8, 2023 9:21 PM > > To: Sun, CepingX <cepingx....@intel.com>; devel@edk2.groups.io > > Cc: Gao, Liming <gaolim...@byosoft.com.cn>; Kinney, Michael D > > <michael.d.kin...@intel.com>; Aktas, Erdem <erdemak...@google.com>; > James > > Bottomley <j...@linux.ibm.com>; Xu, Min M <min.m...@intel.com>; Tom > > Lendacky <thomas.lenda...@amd.com>; Michael Roth > > <michael.r...@amd.com>; Gerd Hoffmann <kra...@redhat.com> > > Subject: Re: [edk2-devel] [PATCH V4 0/3] OvmfPkg: Update TdVmCall to > handle > > the retry for MapGPA > > > > All: Reviewed-by: Jiewen Yao <jiewen....@intel.com> > > > > > > > -----Original Message----- > > > From: Sun, CepingX <cepingx....@intel.com> > > > Sent: Wednesday, November 8, 2023 7:38 PM > > > To: devel@edk2.groups.io > > > Cc: Sun, CepingX <cepingx....@intel.com>; Gao, Liming > > > <gaolim...@byosoft.com.cn>; Kinney, Michael D > > <michael.d.kin...@intel.com>; > > > Aktas, Erdem <erdemak...@google.com>; James Bottomley > > > <j...@linux.ibm.com>; Xu, Min M <min.m...@intel.com>; Tom Lendacky > > > <thomas.lenda...@amd.com>; Michael Roth <michael.r...@amd.com>; > Yao, > > > Jiewen <jiewen....@intel.com>; Gerd Hoffmann <kra...@redhat.com> > > > Subject: [PATCH V4 0/3] OvmfPkg: Update TdVmCall to handle the retry > for > > > MapGPA > > > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4572 > > > > > > According to section 3.2 of the [GHCI] spec, if the result is > > > "TDG.VP.VMCALL_RETRY" for TDG.VP.VMCALL.MapGPA, TD must retry the > > > mapping for the pages in the region starting at the GPA specified in r11. > > > > > > Currently, TDVF does not properly handle the retry results of MapGPA. > > > For this, TDVF should update the TdVmCall to return the value in R11 > > > and must retry the mapping for the pages by the value. > > > > > > How to verify the retry for MapGPA in TDVF: > > > Note: Since the range size of MapGPA in QEMU is limited to 64MB and > > > TDVF always maps 1.5GB( 2GB~3.5GB) MMIO to shared-memory for TD > guest, > > > the retry action is triggered always. > > > Pre-Config: > > > QEMU: > > > https://github.com/intel/qemu-tdx/tree/tdx-qemu-upstream | tag: > tdx-qemu- > > > upstream-2023.10.20-v8.1.0 > > > KERNEL: > > > https://github.com/intel/tdx/tree/kvm-upstream-2023.10.16-v6.6-rc2 > > > > > > Step: > > > Boot with TD guest and check the log with TdVmcall(MAPGPA), as below: > > > TdxDxe:SetMemorySharedOrPrivate: Cr3Base=0x0 Physical=0x80000000 > > > Length=0x60000000 Mode=Shared > > > SetOrClearSharedBit: TdVmcall(MAPGPA) Retry PhysicalAddress is > > > 8000080000000, MapGpaRetryaddr is 8000084000000 > > > > > > Reference: > > > [GHCI]: TDX Guest-Host-Communication Interface v1.0 > > > https://cdrdv2.intel.com/v1/dl/getContent/726790 > > > > > > v2 changes: > > > - Update the code based on the comments of v1 reviewer > > > - Update TdVmcall to instead of the extra API file > > > > > > v3 changes: > > > - Move the definition of TDVMCALL_STATUS_RETRY to Tdx.h > > > > > > v4 changes: > > > - Split the patch to MdePkg update and OvmfPkg update. > > > > > > code: https://github.com/sunceping/edk2/tree/handleRetryMapGPA.v4 > > > > > > Cc: Liming Gao <gaolim...@byosoft.com.cn> > > > Cc: Michael D Kinney <michael.d.kin...@intel.com> > > > Cc: Erdem Aktas <erdemak...@google.com> > > > Cc: James Bottomley <j...@linux.ibm.com> > > > Cc: Min Xu <min.m...@intel.com> > > > Cc: Tom Lendacky <thomas.lenda...@amd.com> > > > Cc: Michael Roth <michael.r...@amd.com> > > > Cc: Jiewen Yao <jiewen....@intel.com> > > > Acked-by: Gerd Hoffmann <kra...@redhat.com> > > > Signed-off-by: Ceping Sun <cepingx....@intel.com> > > > > > > Ceping Sun (3): > > > MdePkg/BaseLib: Update TdVmcall to always output the value in R11 > > > MdePkg/Tdx.h: Add TDVMCALL_STATUS_RETRY > > > OvmfPkg/BaseMemEncryptTdxLib: Handle retry result of MapGPA > > > > > > MdePkg/Include/IndustryStandard/Tdx.h | 2 + > > > MdePkg/Library/BaseLib/X64/TdVmcall.nasm | 4 +- > > > .../BaseMemEncryptTdxLib/MemoryEncryption.c | 41 > ++++++++++++++++++- > > > 3 files changed, 43 insertions(+), 4 deletions(-) > > > > > > -- > > > 2.34.1 > > > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110981): https://edk2.groups.io/g/devel/message/110981 Mute This Topic: https://groups.io/mt/102485641/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-