On 10/20/25 11:55 AM, Joel Fernandes wrote: > These patches have some prerequistes needed for nova-core as support is added > for memory management and interrupt handling. I rebased them on drm-rust-next > and would like them to be considered for the next merge window. I also > included > a simple rust documentation patch fixing some issues I noticed while reading > it :).
Just to be clear, it appears to me that one must first apply "[PATCH v7 0/4] bitfield initial refactor within nova-core" [1], in order to apply this series, yes? [1] https://lore.kernel.org/[email protected] thanks, -- John Hubbard > > The series adds support for the PRAMIN aperture mechanism, which is a > prerequisite for virtual memory as it is required to boot strap virtual memory > (we cannot write to VRAM using virtual memory because we need to write page > tables to VRAM in the first place). > > I also add page table related structures (mm/types.rs) using the bitfield > macro, which will be used for page table walking, memory mapping, etc. This is > currently unused code, because without physical memory allocation (using the > buddy allocator), we cannot use this code as page table pages need to be > allocated in the first place. However, I have included several examples in the > file about how these structures will be used. I have also simplified the code > keeping future additions to it for later. > > For interrupts, I only have added additional support for GSP's message queue > interrupt. I am working on adding support to the interrupt controller module > (VFN) which is the next thing for me to post after this series. I have it > prototyped and working, however I am currently making several changes to it > related to virtual functions. For now in this series, I just want to get the > GSP-specific patch out of the way, hence I am including it here. > > I also have added a patch for bitfield macro which constructs a bitfield > struct > given its storage type. This is used in a later GSP interrupt patch in the > series to read from one register and write to another. > > Joel Fernandes (7): > docs: rust: Fix a few grammatical errors > gpu: nova-core: Add support to convert bitfield to underlying type > docs: gpu: nova-core: Document GSP RPC message queue architecture > docs: gpu: nova-core: Document the PRAMIN aperture mechanism > gpu: nova-core: Add support for managing GSP falcon interrupts > nova-core: mm: Add support to use PRAMIN windows to write to VRAM > nova-core: mm: Add data structures for page table management > > Documentation/gpu/nova/core/msgq.rst | 159 +++++++++ > Documentation/gpu/nova/core/pramin.rst | 113 +++++++ > Documentation/gpu/nova/index.rst | 2 + > Documentation/rust/coding-guidelines.rst | 4 +- > drivers/gpu/nova-core/bitfield.rs | 7 + > drivers/gpu/nova-core/falcon/gsp.rs | 26 +- > drivers/gpu/nova-core/gpu.rs | 2 +- > drivers/gpu/nova-core/mm/mod.rs | 4 + > drivers/gpu/nova-core/mm/pramin.rs | 241 ++++++++++++++ > drivers/gpu/nova-core/mm/types.rs | 405 +++++++++++++++++++++++ > drivers/gpu/nova-core/nova_core.rs | 1 + > drivers/gpu/nova-core/regs.rs | 39 ++- > 12 files changed, 996 insertions(+), 7 deletions(-) > create mode 100644 Documentation/gpu/nova/core/msgq.rst > create mode 100644 Documentation/gpu/nova/core/pramin.rst > create mode 100644 drivers/gpu/nova-core/mm/mod.rs > create mode 100644 drivers/gpu/nova-core/mm/pramin.rs > create mode 100644 drivers/gpu/nova-core/mm/types.rs >
