r535_gsp_libos_init(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐ŸŽ€ bestie, meet r535_gsp_libos_init(9) ๐ŸŽ€

Okay so this is a Kernel API Manual page, and the main character is r535_gsp_libos_init(9). Buckle up, itโ€™s giving kernel-API realness. ๐Ÿ’…

๐ŸŒธ NAME ๐ŸŒธ

r535_gsp_libos_init โ€” create the libos arguments structure

โœจ SYNOPSIS โœจ

int r535_gsp_libos_init (struct nvkm_gsp *gsp );

๐Ÿซถ ARGUMENTS ๐Ÿซถ

  • gsp โ€” a gsp pointer. Thatโ€™s it, thatโ€™s the whole argument list. ๐ŸŽ€

๐Ÿ’– DESCRIPTION ๐Ÿ’–

The logging buffers are literally byte queues, bestie: they contain encoded printf-like messages from GSP-RM. They need to be decoded by a special application that can parse the buffers. No cap.

The 'loginit' buffer contains logs from early GSP-RM init and exception dumps. The 'logrm' buffer contains the subsequent logs. Both are written to directly by GSP-RM and can be any multiple of GSP_PAGE_SIZE. ๐Ÿฆ‹

The physical address map for the log buffer is stored in the buffer itself, starting with offset 1. Offset 0 contains the โ€œputโ€ pointer (pp). Initially, pp is equal to 0. If the buffer has valid logging data in it, then pp points to index into the buffer where the next logging entry will be written. Therefore, the logging data is valid if:

1 <= pp < sizeof(buffer)/sizeof(u64)

The GSP only understands 4K pages (GSP_PAGE_SIZE), so even if the kernel is configured for a larger page size (e.g. 64K pages), we need to give the GSP an array of 4K pages. Fortunately, since the buffer is physically contiguous, itโ€™s simple math to calculate the addresses. ๐Ÿงฎโœจ

The buffers must be a multiple of GSP_PAGE_SIZE. GSP-RM also currently ignores the kind field for LOGINIT, LOGINTR, and LOGRM, but expects the buffers to be physically contiguous anyway.

๐Ÿšจ Important: the memory allocated for the arguments must remain until the GSP sends the init_done RPC. Do not lose track of that, bestie.

See _kgspInitLibosLoggingStructures (allocates memory for buffers). See kgspSetupLibosInitArgs_IMPL (creates pLibosInitArgs[] array).

๐Ÿ‘€ SEE ALSO ๐Ÿ‘€


๐Ÿ’– footer sign-off, periodt: source/version ./drivers/gpu/drm/nouveau/nvkm... ยท date October 2026 ยท manual r535_gsp_libos_init(9) ๐ŸŽ€

๐Ÿ“ฆ where this page comes from