public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Ni, Ray" <ray.ni@intel.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [PATCH V2 0/6] Support 5-level paging in DXE long mode
Date: Wed, 24 Jul 2019 17:23:01 +0000	[thread overview]
Message-ID: <E92EE9817A31E24EB0585FDF735412F5B9D7D415@ORSMSX113.amr.corp.intel.com> (raw)
In-Reply-To: <20190724100029.252404-1-ray.ni@intel.com>

Hi Ray,

Given that there may be register definitions for other
CPUs or devices added to MdePkg in the future, should
an extra directory level be added?  Doing that would
break source compatibility for existing components that
use #include <Register/Cpuid.h> from UefiCpuPkg.  We could
keep Cpuid.h in UefiCpuPkg, and it could be a #include
of the new Cpuid.h file in the MdePkg in the extended path.

Also, should CpuId.h be included from BaseLib.h inside:

  #if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64)

This would make all CPUID related register definitions
available to components the needs BaseLib to call
AsmCpuId() or AsmCpuIdEx()?

We could also move the CRx, FLAGS/EFLAGS/descriptor
structures out of BaseLib.h into include files that
are peers to Cpuid.h and could be updated based on
public spec updates.

Thanks,

Mike

> -----Original Message-----
> From: devel@edk2.groups.io
> [mailto:devel@edk2.groups.io] On Behalf Of Ni, Ray
> Sent: Wednesday, July 24, 2019 3:00 AM
> To: devel@edk2.groups.io
> Subject: [edk2-devel] [PATCH V2 0/6] Support 5-level
> paging in DXE long mode
> 
> v2:
>    Refined the patch according to reviewers' all
> comments except:
>       0A0h cannot be changed to A0h or build fails.
>    A big change in this patch is Cpuid.h is moved from
> UefiCpuPkg to MdePkg.
>    The move is based on real requirement when certain
> modules that cannot
>    depend on UefiCpuPkg but needs to reference
> structures defined in SDM.
> 
> Ray Ni (6):
>   UefiCpuPkg/MpInitLib: Enable 5-level paging for AP
> when BSP's enabled
>   UefiCpuPkg/CpuDxe: Remove unnecessary macros
>   UefiCpuPkg/CpuDxe: Support parsing 5-level page table
>   MdeModulePkg/DxeIpl: Introduce PCD
> PcdUse5LevelPageTable
>   MdePkg/Cpuid.h: Move Cpuid.h from UefiCpuPkg to
> MdePkg
>   MdeModulePkg/DxeIpl: Create 5-level page table for
> long mode
> 
>  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf       |   1 +
>  .../Core/DxeIplPeim/X64/VirtualMemory.c       | 229
> ++++++++++++------
>  MdeModulePkg/MdeModulePkg.dec                 |   7 +
>  MdeModulePkg/MdeModulePkg.uni                 |   8 +
>  .../Include/Register/Cpuid.h                  |   0
>  UefiCpuPkg/CpuDxe/CpuPageTable.c              |  59
> +++--
>  UefiCpuPkg/CpuDxe/CpuPageTable.h              |   3 +-
>  UefiCpuPkg/Library/MpInitLib/MpLib.c          |  13 +
>  UefiCpuPkg/Library/MpInitLib/MpLib.h          |   6 +-
>  UefiCpuPkg/Library/MpInitLib/X64/MpEqu.inc    |   3 +-
>  UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm |  14 +-
>  11 files changed, 243 insertions(+), 100 deletions(-)
> rename {UefiCpuPkg => MdePkg}/Include/Register/Cpuid.h
> (100%)
> 
> --
> 2.21.0.windows.1
> 
> 
> 


  parent reply	other threads:[~2019-07-24 17:23 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-24 10:00 [PATCH V2 0/6] Support 5-level paging in DXE long mode Ni, Ray
2019-07-24 10:00 ` [PATCH V2 1/6] UefiCpuPkg/MpInitLib: Enable 5-level paging for AP when BSP's enabled Ni, Ray
2019-07-24 10:00 ` [PATCH V2 2/6] UefiCpuPkg/CpuDxe: Remove unnecessary macros Ni, Ray
2019-07-24 10:00 ` [PATCH V2 3/6] UefiCpuPkg/CpuDxe: Support parsing 5-level page table Ni, Ray
2019-07-24 10:00 ` [PATCH V2 4/6] MdeModulePkg/DxeIpl: Introduce PCD PcdUse5LevelPageTable Ni, Ray
2019-07-24 10:00 ` [PATCH V2 5/6] MdePkg/Cpuid.h: Move Cpuid.h from UefiCpuPkg to MdePkg Ni, Ray
2019-07-30  3:29   ` Liming Gao
2019-07-30  3:42     ` Michael D Kinney
2019-07-30  3:49       ` Liming Gao
2019-07-30 16:30         ` Michael D Kinney
2019-08-01  2:26           ` Ni, Ray
2019-08-01  8:15             ` Michael D Kinney
2019-07-24 10:00 ` [PATCH V2 6/6] MdeModulePkg/DxeIpl: Create 5-level page table for long mode Ni, Ray
2019-07-24 17:23 ` Michael D Kinney [this message]
2019-07-25  0:45   ` [edk2-devel] [PATCH V2 0/6] Support 5-level paging in DXE " Ni, Ray
2019-07-25  0:52     ` Michael D Kinney
2019-07-25  5:39       ` Ni, Ray
2019-07-25 15:55         ` Michael D Kinney
2019-07-25 23:42           ` Ni, Ray
2019-07-26 18:17             ` Michael D Kinney
2019-07-26 10:14 ` 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=E92EE9817A31E24EB0585FDF735412F5B9D7D415@ORSMSX113.amr.corp.intel.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