diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-26 02:46:41 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-26 02:46:41 -0400 |
| commit | ae2bd4def95997ff7198b1bad21a73a267eea604 (patch) | |
| tree | bece0cea9a0d1d3ab3f2149f5441e377ddd71bc8 /kernel/main.c | |
| parent | 7ac4d61c5a06fda4c9d4a398fb49f400b2b76f15 (diff) | |
| download | open-iov-ae2bd4def95997ff7198b1bad21a73a267eea604.tar.gz open-iov-ae2bd4def95997ff7198b1bad21a73a267eea604.zip | |
kernel: add a channel-table dump param; tools: fix memprobe --max parsing
Diffstat (limited to 'kernel/main.c')
| -rw-r--r-- | kernel/main.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/kernel/main.c b/kernel/main.c index 63657f3..f23be27 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -2248,6 +2248,23 @@ 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 * from guest structures): |
