From: "Pedro Falcato" <pedro.falcato@gmail.com>
To: devel@edk2.groups.io, kraxel@redhat.com
Cc: Erdem Aktas <erdemaktas@google.com>,
Oliver Steffen <osteffen@redhat.com>,
Jiewen Yao <jiewen.yao@intel.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Min Xu <min.m.xu@intel.com>,
Tom Lendacky <thomas.lendacky@amd.com>,
Michael Roth <michael.roth@amd.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Laszlo Ersek <lersek@redhat.com>
Subject: Re: [edk2-devel] [PATCH v2 3/5] OvmfPkg/ResetVector: improve page table flag names
Date: Tue, 30 Jan 2024 19:46:50 +0000 [thread overview]
Message-ID: <CAKbZUD0DXEdmkn_9LDWE5jQchUiVZQmH6PFdDmcMcVN-8gOHFw@mail.gmail.com> (raw)
In-Reply-To: <20240130123204.764453-4-kraxel@redhat.com>
On Tue, Jan 30, 2024 at 12:32 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> Add comments, rename some of the PAGE_* flags and combined attributes.
> Specifically use "LARGEPAGE" instead of "2M" because that bit is used
> for both 2M and 1G large pages.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> OvmfPkg/ResetVector/Ia32/PageTables64.asm | 39 +++++++++++++----------
> 1 file changed, 22 insertions(+), 17 deletions(-)
>
> diff --git a/OvmfPkg/ResetVector/Ia32/PageTables64.asm b/OvmfPkg/ResetVector/Ia32/PageTables64.asm
> index 317cad430f29..6fec6f2beeea 100644
> --- a/OvmfPkg/ResetVector/Ia32/PageTables64.asm
> +++ b/OvmfPkg/ResetVector/Ia32/PageTables64.asm
> @@ -10,6 +10,7 @@
>
> BITS 32
>
> +; common for all levels
> %define PAGE_PRESENT 0x01
> %define PAGE_READ_WRITE 0x02
> %define PAGE_USER_SUPERVISOR 0x04
> @@ -17,25 +18,29 @@ BITS 32
> %define PAGE_CACHE_DISABLE 0x010
> %define PAGE_ACCESSED 0x020
> %define PAGE_DIRTY 0x040
> -%define PAGE_PAT 0x080
> %define PAGE_GLOBAL 0x0100
> -%define PAGE_2M_MBO 0x080
> -%define PAGE_2M_PAT 0x01000
> +
> +; page table entries (level 1)
> +%define PAGE_PTE_PAT 0x080
> +
> +; page directory entries (level 2+)
> +%define PAGE_PDE_LARGEPAGE 0x080
> +%define PAGE_PDE_PAT 0x01000
>
> %define PAGE_4K_PDE_ATTR (PAGE_ACCESSED + \
> PAGE_DIRTY + \
> PAGE_READ_WRITE + \
> PAGE_PRESENT)
>
> -%define PAGE_2M_PDE_ATTR (PAGE_2M_MBO + \
> - PAGE_ACCESSED + \
> - PAGE_DIRTY + \
> - PAGE_READ_WRITE + \
> - PAGE_PRESENT)
> +%define PAGE_PDE_LARGEPAGE_ATTR (PAGE_PDE_LARGEPAGE + \
> + PAGE_ACCESSED + \
> + PAGE_DIRTY + \
> + PAGE_READ_WRITE + \
> + PAGE_PRESENT)
>
> -%define PAGE_PDP_ATTR (PAGE_ACCESSED + \
> - PAGE_READ_WRITE + \
> - PAGE_PRESENT)
> +%define PAGE_PDE_DIRECTORY_ATTR (PAGE_ACCESSED + \
> + PAGE_READ_WRITE + \
> + PAGE_PRESENT)
>
> %define TDX_BSP 1
> %define TDX_AP 2
> @@ -84,19 +89,19 @@ clearPageTablesMemoryLoop:
> ;
> ; Top level Page Directory Pointers (1 * 512GB entry)
> ;
> - mov dword[PT_ADDR (0)], PT_ADDR (0x1000) + PAGE_PDP_ATTR
> + mov dword[PT_ADDR (0)], PT_ADDR (0x1000) + PAGE_PDE_DIRECTORY_ATTR
> mov dword[PT_ADDR (4)], edx
>
> ;
> ; Next level Page Directory Pointers (4 * 1GB entries => 4GB)
> ;
> - mov dword[PT_ADDR (0x1000)], PT_ADDR (0x2000) + PAGE_PDP_ATTR
> + mov dword[PT_ADDR (0x1000)], PT_ADDR (0x2000) + PAGE_PDE_DIRECTORY_ATTR
Technically, if we want to be pedantic, these are PDPTEs (or PDPs I
guess), so PDE is misleading here.
--
Pedro
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#114826): https://edk2.groups.io/g/devel/message/114826
Mute This Topic: https://groups.io/mt/104052210/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next prev parent reply other threads:[~2024-01-30 19:47 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-30 12:31 [edk2-devel] [PATCH v2 0/5] OvmfPkg: Add support for 5-level paging Gerd Hoffmann
2024-01-30 12:32 ` [edk2-devel] [PATCH v2 1/5] MdeModulePkg/DxeIplPeim: fix PcdUse5LevelPageTable assert Gerd Hoffmann
2024-01-30 12:32 ` [edk2-devel] [PATCH v2 2/5] MdeModulePkg/DxeIplPeim: rename variable Gerd Hoffmann
2024-01-30 18:58 ` Laszlo Ersek
2024-01-30 12:32 ` [edk2-devel] [PATCH v2 3/5] OvmfPkg/ResetVector: improve page table flag names Gerd Hoffmann
2024-01-30 19:04 ` Laszlo Ersek
2024-01-30 19:46 ` Pedro Falcato [this message]
2024-01-30 22:28 ` Laszlo Ersek
2024-01-31 8:14 ` Gerd Hoffmann
2024-01-31 11:22 ` Laszlo Ersek
2024-01-31 17:50 ` Pedro Falcato
2024-01-30 12:32 ` [edk2-devel] [PATCH v2 4/5] OvmfPkg/ResetVector: add 5-level paging support Gerd Hoffmann
2024-01-30 19:13 ` Laszlo Ersek
2024-02-01 15:44 ` Lendacky, Thomas via groups.io
2024-02-01 16:33 ` Gerd Hoffmann
2024-02-01 23:31 ` Laszlo Ersek
2024-01-30 12:32 ` [edk2-devel] [PATCH v2 5/5] OvmfPkg/PlatformInitLib: " Gerd Hoffmann
2024-01-30 19:15 ` [edk2-devel] [PATCH v2 0/5] OvmfPkg: Add support for 5-level paging Laszlo Ersek
2024-02-01 16:01 ` Lendacky, Thomas via groups.io
2024-01-31 6:19 ` Min Xu
2024-01-31 8:24 ` Gerd Hoffmann
2024-02-01 5:44 ` Min Xu
2024-02-01 8:45 ` Gerd Hoffmann
2024-02-01 14:14 ` Gerd Hoffmann
2024-02-02 8:30 ` Min Xu
2024-02-02 8:44 ` Gerd Hoffmann
2024-02-02 19:28 ` Lendacky, Thomas via groups.io
2024-02-12 15:13 ` Gerd Hoffmann
2024-01-31 12:02 ` 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=CAKbZUD0DXEdmkn_9LDWE5jQchUiVZQmH6PFdDmcMcVN-8gOHFw@mail.gmail.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