r535_gsp_libos_debugfs_init(9)
π r535_gsp_libos_debugfs_init(9) β from the Kernel API Manual, with love β¨
okay so bestie, this is the manual page for r535_gsp_libos_debugfs_init(9) from the Kernel API Manual. Itβs literally about creating logging debugfs entries, and weβre gonna get into it. No cap. π«Ά
π NAME π
r535_gsp_libos_debugfs_init β create logging debugfs entries π
β¨ SYNOPSIS β¨
void r535_gsp_libos_debugfs_init (struct nvkm_gsp *gsp );
πΈ ARGUMENTS πΈ
gspβ agsppointer. Thatβs it, thatβs the argument. π«Ά
π¦ DESCRIPTION π¦
Okay so this function creates the debugfs entries. The way it exposes the log buffers to userspace so that an external tool can parse it? Obsessed. π₯
The logpmu entry contains exception dumps from the PMU. It is written via an RPC sent from GSP-RM and must be only 4KB β yes, only 4KB, periodt. We create it here because itβs only useful if there is a debugfs entry to expose it. And if we get the PMU logging RPC and there is no debugfs entry, the RPC is just ignored. Bye. π
The blob_init, blob_rm, and blob_pmu objects canβt be transient because debugfs_create_blob doesnβt copy them. So no transience for them, bestie. π
π«Ά NOTE π«Ά
okay so OpenRM vibes: it loads the logging elf image and prints the log messages in real-time. We may add that capability in the future, but that requires loading ELF images that are not distributed with the driver and adding the parsing code to Nouveau β so itβs a whole thing. π
Ideally, this should be part of nouveau_debugfs_init, but that function is called too late. We really want to create these debugfs entries before r535_gsp_booter_load is called, so that if GSP-RM fails to initialize, there could still be a log to capture. Thatβs the whole point, fr fr. π
π SEE ALSO π
- Kernel file:
./drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.c nvkm_gsp_mem_ctor(9)struct registry_list_entry(9)add_registry(9)build_registry(9)clean_registry(9)strip(9)r535_gsp_rpc_set_registry(9)r535_gsp_msg_run_cpu_sequencer(9)struct rpc_ucode_libos_print_v1e_08(9)r535_gsp_msg_libos_print(9)create_debugfs(9)create_pte_array(9)r535_gsp_libos_init(9)nvkm_gsp_radix3_sg(9)r535_debugfs_shutdown(9)is_empty(9)r535_gsp_copy_log(9)r535_gsp_retain_logging(9)r535_gsp_libos_debugfs_fini(9)
xoxo, footer energy: source/version is ./drivers/gpu/drm/nouveau/nvkm..., dated October 2026, and the whole thing is stamped r535_gsp_libos_debugfs_init(9) π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms