summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 23:10:52 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 23:10:52 -0400
commit7a882f4f4e8bccd37598ac0449f91f4b3e0ee162 (patch)
tree86f43024b57d3b88ffc4ee5e2f67f2ec3ba9f007 /kernel/gsp_phys_gpu.h
parent756fdfd6b2090b731b34846b1b23b726bb3978ec (diff)
downloadopen-iov-7a882f4f4e8bccd37598ac0449f91f4b3e0ee162.tar.gz
open-iov-7a882f4f4e8bccd37598ac0449f91f4b3e0ee162.zip
gsp-phys: claim the physical GPU and stage real GSP firmware (backend rungs 1-2)
Rung 1 (ownership): a default-off gsp_phys_gpu module param; on claim the distribution driver is released from 10de:1ed3, our pci_driver binds it, BAR0/1/3 are mapped and the falcon state is sampled; release unbinds ours and rebinds the distribution driver. Verified live: claim reads BOOT0=0x164000a1 with the falcon halted and mailboxes clear; rmmod rebinds nvidia and nvidia-smi stays healthy. Rung 2 (firmware): while the device is owned, gsp_phys_fw (default nvidia/570.211.01/gsp_tu10x.bin) is fetched with request_firmware, checked as ELF64 RISC-V, and its sections are logged (.fwimage, .fwversion, .fwsignature_tu10x). The image is held for the boot rung. The claim is default-off; the emulation path is unchanged.
Diffstat (limited to 'kernel/gsp_phys_gpu.h')
-rw-r--r--kernel/gsp_phys_gpu.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.h b/kernel/gsp_phys_gpu.h
new file mode 100644
index 0000000..b8a1955
--- /dev/null
+++ b/kernel/gsp_phys_gpu.h
@@ -0,0 +1,15 @@
+#ifndef GSP_PHYS_GPU_H
+#define GSP_PHYS_GPU_H
+
+#include <linux/types.h>
+
+/*
+ * Physical GPU ownership (real-GSP execution backend, bring-up rung 1).
+ * Claim is disabled unless the gsp_phys_gpu module parameter is set.
+ */
+bool gsp_phys_gpu_claimed(void);
+int gsp_phys_gpu_claim(void);
+void gsp_phys_gpu_release(void);
+void __iomem *gsp_phys_gpu_bar0(void);
+
+#endif /* GSP_PHYS_GPU_H */