public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ni, Ray" <ray.ni@intel.com>
To: "Sheng, W" <w.sheng@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg/PiSmmCpuDxeSmm: Adjust level paging type for Internal CR3
Date: Tue, 27 Oct 2020 09:43:40 +0000	[thread overview]
Message-ID: <CO1PR11MB4930321E3A57F0913751558A8C160@CO1PR11MB4930.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CY4PR11MB192888F8A3E14DFC6B952B2AE1160@CY4PR11MB1928.namprd11.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 3148 bytes --]

No. You cannot extern a variable defined only for x64. You may meet build failure in IA32 build.

From: Sheng, W <w.sheng@intel.com>
Sent: Tuesday, October 27, 2020 3:54 PM
To: devel@edk2.groups.io; Ni, Ray <ray.ni@intel.com>
Subject: RE: [edk2-devel] [PATCH] UefiCpuPkg/PiSmmCpuDxeSmm: Adjust level paging type for Internal CR3

Hi Ray,
Thank you for the review.

  1.  Can you please separate the patch to two patches? One is to correct the Cr3 typo, the other is to fix the bug.

Sure. I will update the patch.

  1.  Can you please add comments in Is5LevelPageTableBase() to explain why directly checking CR4 doesn't work sometimes? And when (For example, when the function is called from entrypoint and the CR3/CR4 haven't been written)?

Sure. I will update the patch.

  1.  "When mInternalCr3 is used, get paging level type by a variable which is set when mInternalCr3 is generated." This commit message isn't so meaningful. It just translates the C logic to plain text. Better to explain the case when the functions called from entrypoint the page table is set to mInternalCr3, gSmmFeatureEnable5LevelPaging reflects the page table type pointed by mInternalCr3.

Sure. I will update the commit message.

  1.  I cannot find below variable. Did you miss some code change in the patch? // // Variables from Protected Mode SMI Entry Template // extern BOOLEAN gSmmFeatureEnable5LevelPaging;

gSmmFeatureEnable5LevelPaging is in platform smiEntry.nasm.

Yes, It is not a good variable here.

Do you think it is better to use extern “BOOLEAN                             m5LevelPagingNeeded;” in file Edk2/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c ?

Thank you.

BR

Sheng Wei


From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> On Behalf Of Ni, Ray
Sent: 2020年10月27日 9:27
To: Sheng, W <w.sheng@intel.com<mailto:w.sheng@intel.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg/PiSmmCpuDxeSmm: Adjust level paging type for Internal CR3


The overall logic looks good to me and I agree to add an internal function like the patch.

Some minor comments:

  1.  Can you please separate the patch to two patches? One is to correct the Cr3 typo, the other is to fix the bug.
  2.  Can you please add comments in Is5LevelPageTableBase() to explain why directly checking CR4 doesn't work sometimes? And when (For example, when the function is called from entrypoint and the CR3/CR4 haven't been written)?
  3.  "When mInternalCr3 is used, get paging level type by a variable which is set when mInternalCr3 is generated." This commit message isn't so meaningful. It just translates the C logic to plain text. Better to explain the case when the functions called from entrypoint the page table is set to mInternalCr3, gSmmFeatureEnable5LevelPaging reflects the page table type pointed by mInternalCr3.
  4.  I cannot find below variable. Did you miss some code change in the patch? // // Variables from Protected Mode SMI Entry Template // extern BOOLEAN gSmmFeatureEnable5LevelPaging;


[-- Attachment #2: Type: text/html, Size: 11005 bytes --]

  parent reply	other threads:[~2020-10-27  9:43 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20201023033153.21360-1-w.sheng@intel.com>
2020-10-27  1:27 ` [edk2-devel] [PATCH] UefiCpuPkg/PiSmmCpuDxeSmm: Adjust level paging type for Internal CR3 Ni, Ray
     [not found]   ` <CY4PR11MB192888F8A3E14DFC6B952B2AE1160@CY4PR11MB1928.namprd11.prod.outlook.com>
2020-10-27  9:43     ` Ni, Ray [this message]
2020-10-27 10:00       ` Yao, Jiewen
2020-10-27 14:32         ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CO1PR11MB4930321E3A57F0913751558A8C160@CO1PR11MB4930.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox