Reviewed-by: Ray Ni <ray...@intel.com> Thanks, Ray > -----Original Message----- > From: Laszlo Ersek <ler...@redhat.com> > Sent: Wednesday, January 17, 2024 6:24 PM > To: devel@edk2.groups.io; Liu, Zhiguang <zhiguang....@intel.com> > Cc: Ni, Ray <ray...@intel.com>; Kumar, Rahul R <rahul.r.ku...@intel.com>; > Gerd Hoffmann <kra...@redhat.com> > Subject: Re: [edk2-devel] [PATCH v2 2/2] UefiCpuPkg/CpuMpPei: Don't write > CR3 in ConvertMemoryPageToNotPresent > > On 1/17/24 07:22, Zhiguang Liu wrote: > > The purpose of writing CR3 in ConvertMemoryPageToNotPresent is just > > to flush TLB, because CR3 won't be changed in function > > ConvertMemoryPageToNotPresent. > > After ConvertMemoryPageToNotPresent, there is always a flush TLB > > function. Also, because ConvertMemoryPageToNotPresent in called in a > > loop, to improve performance, there is no need to flush TLB > > inside ConvertMemoryPageToNotPresent. Just flushing TLB after the loop > > is enough. > > > > Cc: Ray Ni <ray...@intel.com> > > Cc: Laszlo Ersek <ler...@redhat.com> > > Cc: Rahul Kumar <rahul1.ku...@intel.com> > > Cc: Gerd Hoffmann <kra...@redhat.com> > > Signed-off-by: Zhiguang Liu <zhiguang....@intel.com> > > --- > > UefiCpuPkg/CpuMpPei/CpuPaging.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/UefiCpuPkg/CpuMpPei/CpuPaging.c > b/UefiCpuPkg/CpuMpPei/CpuPaging.c > > index 15c7015fb8..b923d9b502 100644 > > --- a/UefiCpuPkg/CpuMpPei/CpuPaging.c > > +++ b/UefiCpuPkg/CpuMpPei/CpuPaging.c > > @@ -76,7 +76,8 @@ AllocatePageTableMemory ( > > > > /** > > This function modifies the page attributes for the memory region > specified > > - by BaseAddress and Length to not present. > > + by BaseAddress and Length to not present. This function only change > page > > + table, but not flush TLB. Caller have the responsbility to flush TLB. > > > > Caller should make sure BaseAddress and Length is at page boundary. > > > > @@ -167,7 +168,6 @@ ConvertMemoryPageToNotPresent ( > > } > > > > ASSERT_EFI_ERROR (Status); > > - AsmWriteCr3 (PageTable); > > return Status; > > } > > > > Reviewed-by: Laszlo Ersek <ler...@redhat.com>
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113985): https://edk2.groups.io/g/devel/message/113985 Mute This Topic: https://groups.io/mt/103781133/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-