This series provides Rust bindings infrastructure needed for nova-core
memory management:
1. CList module for interfacing with C circular linked lists, required
for iterating over GPU buddy allocator blocks.
2. GPU buddy allocator bindings for physical memory management in
nova-core.
These patches are based on the RFC v6 nova-core memory management series:
https://lore.kernel.org/all/20260120204303.3229303-1-joelagnelf@nvidia.com/
Main changes from v6 are based on suggestions by Gary and Dave.
This patch requires the DRM buddy code movement patch as a prerequisite:
https://lore.kernel.org/all/20260206003451.1914130-1-joelagnelf@nvidia.com/
Rebased on linux-next commit 9845cf73f7db ("Add linux-next specific files
for 20260205").
Joel Fernandes (2):
rust: clist: Add support to interface with C linked lists
rust: gpu: Add GPU buddy allocator bindings
MAINTAINERS | 7 +
drivers/gpu/Kconfig | 7 +
rust/bindings/bindings_helper.h | 11 +
rust/helpers/gpu.c | 23 ++
rust/helpers/helpers.c | 2 +
rust/helpers/list.c | 21 ++
rust/kernel/clist.rs | 315 +++++++++++++++++++
rust/kernel/gpu/buddy.rs | 530 ++++++++++++++++++++++++++++++++
rust/kernel/gpu/mod.rs | 5 +
rust/kernel/lib.rs | 4 +
10 files changed, 925 insertions(+)
create mode 100644 rust/helpers/gpu.c
create mode 100644 rust/helpers/list.c
create mode 100644 rust/kernel/clist.rs
create mode 100644 rust/kernel/gpu/buddy.rs
create mode 100644 rust/kernel/gpu/mod.rs
--
2.34.1