[PATCH 24/27] gpu: nova-core: gsp: pass the remaining log buffers to GSP-RM

From: John Hubbard

Date: Wed Aug 19 2026 - 00:00:33 EST


The libos loader finds each log buffer by looking up its eight-byte name
in the init argument array, so a buffer the array does not name is never
written to.

Nova-core allocates six log buffers and gives all six a debugfs file,
but names only three, so the other three can never read back anything
but zeros.

Name all six. RMARGS moves to the end of the array, which does not
matter to a loader that searches by name.

Assisted-by: Cursor:claude-opus-5
Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx>
---
drivers/gpu/nova-core/gsp.rs | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/nova-core/gsp.rs b/drivers/gpu/nova-core/gsp.rs
index 232905638169..f1bd66024b72 100644
--- a/drivers/gpu/nova-core/gsp.rs
+++ b/drivers/gpu/nova-core/gsp.rs
@@ -355,7 +355,19 @@ pub(crate) fn new(
2,
LibosMemoryRegionInitArgument::new("LOGRM", &logrm.buffer),
)?;
- libos.init_at(3, LibosMemoryRegionInitArgument::new("RMARGS", rmargs))?;
+ libos.init_at(
+ 3,
+ LibosMemoryRegionInitArgument::new("LOGMNOC", &logmnoc.buffer),
+ )?;
+ libos.init_at(
+ 4,
+ LibosMemoryRegionInitArgument::new("LOGROOT", &logroot.buffer),
+ )?;
+ libos.init_at(
+ 5,
+ LibosMemoryRegionInitArgument::new("LOGRMON", &logrmon.buffer),
+ )?;
+ libos.init_at(6, LibosMemoryRegionInitArgument::new("RMARGS", rmargs))?;

libos.into()
},
--
2.55.0