Re: [PATCH 24/27] gpu: nova-core: gsp: pass the remaining log buffers to GSP-RM
From: Zhi Wang
Date: Thu Aug 20 2026 - 14:53:23 EST
On Tue, 18 Aug 2026 20:52:17 -0700
John Hubbard <jhubbard@xxxxxxxxxx> wrote:
Reviewed-by: Zhi Wang <zhiw@xxxxxxxxxx>
> 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()
> },