[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <925b7dd5-c941-4946-8148-ebd7e8eeca65@nvidia.com>
Date: Wed, 21 Jan 2026 13:35:04 -0500
From: Joel Fernandes <joelagnelf@...dia.com>
To: Zhi Wang <zhiw@...dia.com>
Cc: linux-kernel@...r.kernel.org,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Simona Vetter <simona@...ll.ch>,
Jonathan Corbet <corbet@....net>, Alex Deucher <alexander.deucher@....com>,
Christian König <christian.koenig@....com>,
Jani Nikula <jani.nikula@...ux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@...ux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@...el.com>, Tvrtko Ursulin
<tursulin@...ulin.net>, Huang Rui <ray.huang@....com>,
Matthew Auld <matthew.auld@...el.com>,
Matthew Brost <matthew.brost@...el.com>,
Lucas De Marchi <lucas.demarchi@...el.com>,
Thomas Hellström <thomas.hellstrom@...ux.intel.com>,
Helge Deller <deller@....de>, Danilo Krummrich <dakr@...nel.org>,
Alice Ryhl <aliceryhl@...gle.com>, Miguel Ojeda <ojeda@...nel.org>,
Alex Gaynor <alex.gaynor@...il.com>, Boqun Feng <boqun.feng@...il.com>,
Gary Guo <gary@...yguo.net>, Björn Roy Baron
<bjorn3_gh@...tonmail.com>, Benno Lossin <lossin@...nel.org>,
Andreas Hindborg <a.hindborg@...nel.org>, Trevor Gross <tmgross@...ch.edu>,
Alistair Popple <apopple@...dia.com>, Alexandre Courbot
<acourbot@...dia.com>, Andrea Righi <arighi@...dia.com>,
Alexey Ivanov <alexeyi@...dia.com>, Philipp Stanner <phasta@...nel.org>,
Elle Rhumsaa <elle@...thered-steel.dev>,
Daniel Almeida <daniel.almeida@...labora.com>, joel@...lfernandes.org,
nouveau@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
rust-for-linux@...r.kernel.org, linux-doc@...r.kernel.org,
amd-gfx@...ts.freedesktop.org, intel-gfx@...ts.freedesktop.org,
intel-xe@...ts.freedesktop.org, linux-fbdev@...r.kernel.org
Subject: Re: [PATCH RFC v6 13/26] nova-core: mm: Add unified page table entry
wrapper enums
On 1/21/2026 4:54 AM, Zhi Wang wrote:
> On Tue, 20 Jan 2026 15:42:50 -0500
> Joel Fernandes <joelagnelf@...dia.com> wrote:
>> Add unified Pte, Pde, and DualPde wrapper enums that abstract over
>> MMU v2 and v3 page table entry formats. These enums allow the page
>> table walker and VMM to work with both MMU versions.
>>
>
> snip
>
>> +impl DualPde {
>> + /// Create a [`DualPde`] from raw 128-bit value (two `u64`s) for
>> the given MMU version.
>> + pub(crate) fn new(version: MmuVersion, big: u64, small: u64) ->
>> Self {
>> + match version {
>> + MmuVersion::V2 => Self::V2(ver2::DualPde::new(big, small)),
>> + MmuVersion::V3 => Self::V3(ver3::DualPde::new(big, small)),
>> + }
>> + }
>> +
>> + /// Create a [`DualPde`] with only the small page table pointer set.
>> + pub(crate) fn new_small(version: MmuVersion, table_pfn: Pfn) ->
>> Self {
>> + match version {
>> + MmuVersion::V2 =>
>> Self::V2(ver2::DualPde::new_small(table_pfn)),
>> + MmuVersion::V3 =>
>> Self::V3(ver3::DualPde::new_small(table_pfn)),
>> + }
>> + }
>> +
>> + /// Check if the small page table pointer is valid.
>> + pub(crate) fn has_small(&self) -> bool {
>> + match self {
>> + Self::V2(d) => d.has_small(),
>> + Self::V3(d) => d.has_small(),
>> + }
>> + }
>> +
>
> Should we also have a has_big here as well?
Good catch, I will add that in, thanks.
--
Joel Fernandes
Powered by blists - more mailing lists