summaryrefslogtreecommitdiffstats
path: root/docs/07-developers
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 15:13:06 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 15:13:06 -0400
commitc9bf1cf098c8ea4daeb3e6c9b274a9025c03045d (patch)
tree91b1dc03fc3916a92e1c99bd91a6643842c62525 /docs/07-developers
parent7621dff1d3fba7bdb31b2b15abca1e5ff8ca4380 (diff)
downloadopen-iov-c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d.tar.gz
open-iov-c9bf1cf098c8ea4daeb3e6c9b274a9025c03045d.zip
kernel: GR context-promote bisection modes 4-17 and server-managed-ctxbuf registry variant; complete vgsp rename; docs/tooling refresh
- gsp_phys_booter: GR promote bisection modes 4-17 (two-phase zero-field VA, batched entries, hVirtMemory, bare VA, KMD SKIP_CTXBUFFER_ALLOC channel, old-interface GPU_INITIALIZE_CTX, FBMEM context buffer, UVM-faithful PA-only, PATCH/PM auxiliary promotes, server-managed no-promote path); PATCH/PM geometry queries and buffers; pre-boot SET_REGISTRY profile selection - gsp_phys_gpu: gsp_phys_rmcall_gr_promote clamp 0..17 and gsp_phys_srv_ctxbuf parameter; registry image variant with RMSetClientRMAllocatedCtxBuffer=0 - vgsp rename across kernel, scripts, tools and docs (module vgsp.ko, /sys/kernel/debug/vgsp/, vgsp-<subsystem>: log prefixes) - risc-v-gsp-rm-debugger user-facing rename and docs/CI refresh; guest-diag tool updates; README/SBOM/install/Makefile sync Live status: CE ladder and P6 guest-copy forwarding green; GR engine context commit still open (all promote shapes accepted or cleanly refused; the channel stays CTXNOTVALID) - see Handoff-vGPU-IO.md Addendum 21 (local).
Diffstat (limited to 'docs/07-developers')
-rw-r--r--docs/07-developers/02-development-and-analysis-environment.md10
-rw-r--r--docs/07-developers/onboarding-and-standards.md6
2 files changed, 8 insertions, 8 deletions
diff --git a/docs/07-developers/02-development-and-analysis-environment.md b/docs/07-developers/02-development-and-analysis-environment.md
index f19a4d8..c58ec35 100644
--- a/docs/07-developers/02-development-and-analysis-environment.md
+++ b/docs/07-developers/02-development-and-analysis-environment.md
@@ -35,7 +35,7 @@ and the tool's own
flowchart TB
subgraph HOST["Lab host - x86_64 or aarch64"]
SM["scripts/stack_manager.sh<br/>build / load / status / test / unload"]
- MOD["open-iov-vfio.ko<br/>virtual device + GSP-RM emulation + backend"]
+ MOD["vgsp.ko<br/>virtual device + GSP-RM emulation + backend"]
QEMU["QEMU / KVM<br/>scripts/vgpu_vm.py, launch_qemu_*.sh"]
VFIO["VFIO mdev + IOMMU isolation"]
RMTOOLS["tools/rmtool, rmtop, rmq<br/>read-only host RM oracle"]
@@ -83,14 +83,14 @@ flowchart TB
## 3. Host stack: KVM, QEMU, VFIO and the module
-The reference path is KVM + QEMU with the VFIO mdev transport. `open-iov-vfio.ko`
+The reference path is KVM + QEMU with the VFIO mdev transport. `vgsp.ko`
emulates the device interface and GSP-RM behaviour (or drives the physical
backend, per the chosen execution mode); the guest runs stock drivers only.
```bash
./install.sh deps nvidia firmware build # full host setup (stages selectable)
make kernel # or: ./scripts/stack_manager.sh build-kernel
-./scripts/stack_manager.sh load-open-iov # load open-iov-vfio.ko
+./scripts/stack_manager.sh load-open-iov # load vgsp.ko
./scripts/stack_manager.sh mdev-create # create the mediated device
./scripts/vgpu_vm.py start vgpu-linux # guest lifecycle + guest-agent exec/shell
./scripts/stack_manager.sh test # host test suite
@@ -246,7 +246,7 @@ the long-term program is
| `stack_manager.sh` | build/load/status/test/unload with correct ordering | every host-stack change or bring-up | `scripts/stack_manager.sh` | [`03-architecture/06` §7](../03-architecture/06-host-module-and-hybrid-model.md) |
| `vgpu_vm.py` | VM lifecycle + guest-agent exec/shell | booting/inspecting the guest | `scripts/vgpu_vm.py` | [`05-operations/02`](../05-operations/02-debugging-and-maintenance-workflows.md) |
| QEMU launch/gdb helpers | direct QEMU launches, QMP/gdbstub access | gdbstub triage, direct QEMU runs | `scripts/launch_qemu_*.sh`, `qemu_*.sh/py` | [`05-operations/02` §3.3/§3.7](../05-operations/02-debugging-and-maintenance-workflows.md) |
-| module debug parameters | guest-RAM scan/poke, live trace | memory-state debugging in kernel context | `/sys/module/open_iov_vfio/parameters/` | [`05-operations/02` §3.1–3.2](../05-operations/02-debugging-and-maintenance-workflows.md) |
+| module debug parameters | guest-RAM scan/poke, live trace | memory-state debugging in kernel context | `/sys/module/vgsp/parameters/` | [`05-operations/02` §3.1–3.2](../05-operations/02-debugging-and-maintenance-workflows.md) |
| `guest-diag` | ioctl trace, engine list, pmap | driver-side oracle for a guest failure | `tools/guest-diag/` | [`05-operations/02` §3.4](../05-operations/02-debugging-and-maintenance-workflows.md) |
| `cudatool.py` | CUDA binary info/delta/crash/fdematch | every `libcuda` version bump or crash | `userspace/cuda/tools/` | [`READ-ME-FIRST` §3](../../userspace/cuda/READ-ME-FIRST.md) |
| `callwalk.py` | caller/callee/path walks | tracing a crash path through the corpus | `userspace/cuda/tools/` | [`READ-ME-FIRST` §3](../../userspace/cuda/READ-ME-FIRST.md) |
@@ -287,7 +287,7 @@ flowchart LR
end
A2 -->|"symbol DB with bias<br/>(symbols export)"| B1
B3 -->|"export_hits, fault PC,<br/>corpus bucket:line"| A1
- A3 --> C["emulation change in open-iov-vfio"]
+ A3 --> C["emulation change in vgsp"]
B3 --> C
C --> D["physical confirmation +<br/>regression with the same stimulus"]
```
diff --git a/docs/07-developers/onboarding-and-standards.md b/docs/07-developers/onboarding-and-standards.md
index 50f4f93..ef6388e 100644
--- a/docs/07-developers/onboarding-and-standards.md
+++ b/docs/07-developers/onboarding-and-standards.md
@@ -109,7 +109,7 @@ The following rules each come from a real bug and are enforced in review:
`-ENOTSUPP` with `pr_warn_ratelimited` until a real handler exists.
* **Log through the NULL-tolerant `nv_vgpu_*` wrappers and rate-limit**
anything a guest can spam.
-* `open-iov-vfio.ko` is **standalone**: no `MODULE_SOFTDEP`/dependency on
+* `vgsp.ko` is **standalone**: no `MODULE_SOFTDEP`/dependency on
`nvidia` — `nvidia.ko` imports our symbols, not the other way around.
* VM access in tooling goes through `scripts/vgpu_vm.py`; do not invoke
QEMU directly.
@@ -158,7 +158,7 @@ The following rules each come from a real bug and are enforced in review:
| `tools/firmware_analyzer.py` + Ghidra scripts | firmware analysis pipeline |
| module debug parameters | guest-memory scanning/poking, VRAM inspection; physical-backend parameters and debugfs state/control files (see [`../eng-ops.md`](../eng-ops.md) Part II) |
| QEMU gdbstub workflow | guest virtual-memory inspection/writing |
-| `debug/risc-v-gsp-rm-vm/` (risc-v-gsp-rm-debugger) | implemented, documented and tested ([audit](../../debug/risc-v-gsp-rm-vm/docs/27-TOOL-AUDIT.md); [value demos](../../debug/risc-v-gsp-rm-vm/docs/25-VALUE-VALIDATION.md)) — RISC-V GSP/uproc VM runtime inspection, session recording and `gsp-rm-vfio` accuracy measurement (see [`../05-operations/03-risc-v-gsp-rm-vm.md`](../05-operations/03-risc-v-gsp-rm-vm.md)) |
+| `debug/risc-v-gsp-rm-vm/` (risc-v-gsp-rm-debugger) | implemented, documented and tested ([audit](../../debug/risc-v-gsp-rm-vm/docs/27-TOOL-AUDIT.md); [value demos](../../debug/risc-v-gsp-rm-vm/docs/25-VALUE-VALIDATION.md)) — RISC-V GSP/uproc VM runtime inspection, session recording and `vgsp` accuracy measurement (see [`../05-operations/03-risc-v-gsp-rm-vm.md`](../05-operations/03-risc-v-gsp-rm-vm.md)) |
| `wiki/` documents | protocol and firmware deep dives |
## 5. Landing a change
@@ -177,7 +177,7 @@ The following rules each come from a real bug and are enforced in review:
## 6. Makefile targets
```bash
-make kernel # open-iov-vfio.ko (first!)
+make kernel # vgsp.ko (first!)
./scripts/build_nvidia_openrm.sh # optional OpenRM modules, KBUILD_EXTRA_SYMBOLS from kernel/Module.symvers
make userspace # libiov.so, examples
make all # in the correct order