summaryrefslogtreecommitdiffstats
path: root/kernel/main.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-01 10:40:54 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-01 10:40:54 -0400
commit017e29adbe8f00e3e500df2ad3b404c2d2896866 (patch)
tree56ac0f2ffbb540ac104e98313f0db19def91a361 /kernel/main.c
parentc21f7099a8544b35628a7e104f02c5335a08d79d (diff)
downloadopen-iov-017e29adbe8f00e3e500df2ad3b404c2d2896866.tar.gz
open-iov-017e29adbe8f00e3e500df2ad3b404c2d2896866.zip
gsp-phys: harden the RM transport and add the static-info probe
Applies the adversarial review fixes for the command-queue TX and unload RPC: the unload RPC is gated on GSP-RM init-done, debugfs fops pin the module, REG_POLL timeouts use microseconds, the host status readPtr is published, TX free space is checked, swap flags and barriers are corrected, and the legacy payload fallback is opt-in. Generalizes the transport to multi-element records and a reply-matching status-queue reader, and adds a debugfs probe that round-trips GET_GSP_STATIC_INFO (with a SET_GUEST_SYSTEM_INFO fallback), decodes the server configuration, and a read-only state snapshot file. All gated by gsp_phys_boot; the normal load path is unchanged.
Diffstat (limited to 'kernel/main.c')
-rw-r--r--kernel/main.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/kernel/main.c b/kernel/main.c
index 30156ab..babcc22 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -1454,11 +1454,12 @@ static int __init nv_vgpu_init(void)
ret);
}
- /* Test-enabling trigger for the GSP-RM unload RPC; inert unless a
- * stage-3d boot ran on a live claim (gsp_phys_boot=1). Removed on
- * module exit. Creation failure is non-fatal. */
+ /* Test-enabling trigger for the GSP-RM unload RPC plus the read-only
+ * state snapshot; inert unless a stage-3d boot ran on a live claim
+ * (gsp_phys_boot=1). Removed on module exit. Creation failure is
+ * non-fatal. */
if (gsp_phys_boot_debugfs_init())
- pr_warn("gsp-resman-vfio: gsp-phys-unload-rpc debugfs trigger unavailable\n");
+ pr_warn("gsp-resman-vfio: gsp-phys debugfs files unavailable\n");
pr_info("NVIDIA vGPU VFIO driver loaded (version %s)\n", NVIDIA_VGPU_VFIO_VERSION);
/* Start the emulated-GPU progress service: it discovers the guest's