From 3c3d0637a57a92d6ae4f1b934ba3282b2366160f Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Sat, 26 Sep 2026 02:46:41 -0400 Subject: kernel: add a channel-table dump param; tools: fix memprobe --max parsing --- kernel/main.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'kernel/main.c') diff --git a/kernel/main.c b/kernel/main.c index 63657f3..f23be27 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -2247,6 +2247,23 @@ static const struct kernel_param_ops nv_vgpu_sema_probe_ops = { module_param_cb(sema_probe, &nv_vgpu_sema_probe_ops, NULL, 0200); MODULE_PARM_DESC(sema_probe, "Dump sema-service map + slot values for a GPU VA"); +/* + * Debug: dump the semaphore service's channel table (GPFIFO/USERD state and + * the two NvNotification slots each channel exposes): + * echo 1 > .../parameters/chan_dump + */ +static int nv_vgpu_chan_dump_set(const char *val, const struct kernel_param *kp) +{ + return gsp_sema_service_dump_channels(); +} + +static const struct kernel_param_ops nv_vgpu_chan_dump_ops = { + .set = nv_vgpu_chan_dump_set, +}; + +module_param_cb(chan_dump, &nv_vgpu_chan_dump_ops, NULL, 0200); +MODULE_PARM_DESC(chan_dump, "Dump the sema service channel table (any value)"); + /* * Debug: inject a verified {GPU VA -> guest PA} translation into the * semaphore service (used when the client's mapping cannot be discovered -- cgit v1.2.3