summaryrefslogtreecommitdiffstats
path: root/docs/03-architecture
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/03-architecture
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/03-architecture')
-rw-r--r--docs/03-architecture/01-system-overview.md4
-rw-r--r--docs/03-architecture/06-host-module-and-hybrid-model.md8
-rw-r--r--docs/03-architecture/07-driver-lifecycle-field-guide.md12
-rw-r--r--docs/03-architecture/08-physical-gpu-integration.md4
-rw-r--r--docs/03-architecture/09-full-system-picture.md6
-rw-r--r--docs/03-architecture/12-host-vf-acceleration-future-goal.md2
6 files changed, 18 insertions, 18 deletions
diff --git a/docs/03-architecture/01-system-overview.md b/docs/03-architecture/01-system-overview.md
index fa328ae..8205154 100644
--- a/docs/03-architecture/01-system-overview.md
+++ b/docs/03-architecture/01-system-overview.md
@@ -56,7 +56,7 @@ GUEST
════════╪════════════════════════════════════════════════════════════════
HYPERVISOR (KVM/Xen/...) VFIO mdev transport + IOMMU isolation
│
-HOST MODULE open-iov-vfio.ko
+HOST MODULE vgsp.ko
├─ virtual device: config space, BAR0/BAR1/BAR3 windows, MSI-X
├─ emulation core: GSP boot + GSP-RM (RPC msgq, controls, objects, events)
├─ memory model: guest RAM access, VA↔PA maps, VRAM backing
@@ -71,7 +71,7 @@ REAL HARDWARE (engines, memory, interrupts)
## 3. Host module architecture
-`open-iov-vfio.ko` is a **VFIO mediated-device (mdev) driver**. It registers a
+`vgsp.ko` is a **VFIO mediated-device (mdev) driver**. It registers a
parent on the physical GPU and exposes virtual GPU types; each `mdev` instance
is one virtual GPU for one VM.
diff --git a/docs/03-architecture/06-host-module-and-hybrid-model.md b/docs/03-architecture/06-host-module-and-hybrid-model.md
index 0dbc89a..7f670d7 100644
--- a/docs/03-architecture/06-host-module-and-hybrid-model.md
+++ b/docs/03-architecture/06-host-module-and-hybrid-model.md
@@ -1,6 +1,6 @@
# The Host Module and the Hybrid Model
-> `open-iov-vfio.ko` in detail: the virtual device, the emulation engine, the
+> `vgsp.ko` in detail: the virtual device, the emulation engine, the
> memory model, and how work will be forwarded. This is the "where the code
> lives" document.
@@ -15,7 +15,7 @@
└────┬──────────────────────────────────────────────┘
│
┌────┴───────────────────────────────────────────────────────────────┐
- │ open-iov-vfio.ko │
+ │ vgsp.ko │
│ virtual device ── emulation core ── memory model ── work path │
└────┬─────────────────────────────────────┬─────────────────────────┘
│ module-owned device + real GSP │ (future) vendor-managed
@@ -249,7 +249,7 @@ operations stays a development bridge, not the data plane.
## 6. Debug tooling in the module
The module exposes debug parameters (writes to
-`/sys/module/open_iov_vfio/parameters/*`) that make the guest's memory and the
+`/sys/module/vgsp/parameters/*`) that make the guest's memory and the
emulated device inspectable without rebuilding:
| Parameter | Purpose |
@@ -290,7 +290,7 @@ mismatch. Their workflows are documented in
## 7. Build and symbol contracts
-* `open-iov-vfio.ko` exports the `nvidia_vgpu_vfio_*` interface
+* `vgsp.ko` exports the `nvidia_vgpu_vfio_*` interface
(`nvidia_vgpu_vfio_probe/remove`, ops get/set, mdev parent registration) for
hosts that want to pair our device with the NVIDIA OpenRM host modules.
* When NVIDIA's OpenRM modules are built from source, they must be built with
diff --git a/docs/03-architecture/07-driver-lifecycle-field-guide.md b/docs/03-architecture/07-driver-lifecycle-field-guide.md
index 73b007e..3a85da6 100644
--- a/docs/03-architecture/07-driver-lifecycle-field-guide.md
+++ b/docs/03-architecture/07-driver-lifecycle-field-guide.md
@@ -45,7 +45,7 @@ terminate.
**Log signature:**
```
-gsp-resman-vfio: GSP-BOOT: ... trigger auto-cleared ...
+vgsp: GSP-BOOT: ... trigger auto-cleared ...
```
## 3. Static configuration
@@ -62,7 +62,7 @@ layout, engine list, vGPU-friendly VF values).
**Log signature:**
```
-GSPRM: GET_GSP_STATIC_INFO → ...
+vgsp-rm: GET_GSP_STATIC_INFO → ...
```
## 4. Message queues
@@ -81,8 +81,8 @@ byte-stream-based**: each message is one element and may span pages.
**Log signature:**
```
-gsp-resman-vfio: libos region[i] id8=... pa=... size=...
-gsp-resman-vfio: queue args sharedPA=... ptes=... cmdOff=... statOff=...
+vgsp: libos region[i] id8=... pa=... size=...
+vgsp: queue args sharedPA=... ptes=... cmdOff=... statOff=...
```
## 5. Resource-manager initialization (the control battery)
@@ -113,7 +113,7 @@ fallback). Representative controls:
**Log signature:**
```
-GSPRM: GSP_RM_CONTROL cmd=0x... hClient=0x... hObject=0x... paramsSize=...
+vgsp-rm: GSP_RM_CONTROL cmd=0x... hClient=0x... hObject=0x... paramsSize=...
```
## 6. Object creation
@@ -150,7 +150,7 @@ tree reconstructible from `dmesg`.
**Log signature:**
```
-GSPRM: GSP_RM_ALLOC class=0x... paramsSize=... hClient=... hParent=... hObject=...
+vgsp-rm: GSP_RM_ALLOC class=0x... paramsSize=... hClient=... hParent=... hObject=...
```
## 7. UVM registration (the wall we climbed)
diff --git a/docs/03-architecture/08-physical-gpu-integration.md b/docs/03-architecture/08-physical-gpu-integration.md
index 532cd77..6e13e7b 100644
--- a/docs/03-architecture/08-physical-gpu-integration.md
+++ b/docs/03-architecture/08-physical-gpu-integration.md
@@ -367,7 +367,7 @@ per-context scheduling. Tenant policy and fairness are a later layer on top.
release the RPC runs once (only when the full boot stage ran) before the
existing quiesce/FWSEC teardown; without a full boot the fail-safe
behaviour is unchanged. A write-only debugfs trigger
- (`open-iov-vfio/gsp-phys-unload-rpc`, write "1") lets a live claimed
+ (`vgsp/gsp-phys-unload-rpc`, write "1") lets a live claimed
session test the shutdown without touching WPR2. All of it is inert unless
the full boot stage ran. **Live-verified (2026-10-01):** the unload RPC
shuts the server down (GSP-RM processor suspended in ~220 ms, handoff bits
@@ -375,7 +375,7 @@ per-context scheduling. Tenant policy and fairness are a later layer on top.
reboot on every clean cycle.
* **Update (2026-10-01) — rung 4c slice 1 implemented (build-only):** for the
next cycle a host resource-manager static-info probe is available: the
- write-only debugfs file `open-iov-vfio/gsp-phys-rm-probe` (write "1", only
+ write-only debugfs file `vgsp/gsp-phys-rm-probe` (write "1", only
when GSP-RM init-done was observed) sends `GET_GSP_STATIC_INFO` over the
real command queue and decodes the server's static configuration (internal
handles, split-VA flag, BAR1/2 PDE bases, framebuffer geometry, engine
diff --git a/docs/03-architecture/09-full-system-picture.md b/docs/03-architecture/09-full-system-picture.md
index 3c15830..97b4617 100644
--- a/docs/03-architecture/09-full-system-picture.md
+++ b/docs/03-architecture/09-full-system-picture.md
@@ -38,7 +38,7 @@ flowchart TB
IOMMU["IOMMU / IOMMUFD<br/>per-VM DMA address spaces"]
end
- subgraph MOD["open-iov-vfio.ko - the only host component"]
+ subgraph MOD["vgsp.ko - the only host component"]
VDEV["Virtual device<br/>config space, BAR0/1/3, MSI-X"]
EMU["Emulation core<br/>GSP boot + GSP-RM RPC + objects"]
MEMM["Memory model<br/>VA to PA, pins, VRAM shadow, page tables"]
@@ -207,7 +207,7 @@ flowchart LR
VRS["VRAM objects - BAR1 aperture view"]
end
- subgraph MM["open-iov-vfio.ko memory model"]
+ subgraph MM["vgsp.ko memory model"]
DISC["Discovery<br/>structure walk + content scan + pins"]
PMAP["VA to PA map<br/>page-granular, merge rebuilds"]
SHAD["BAR1 VRAM shadow"]
@@ -362,7 +362,7 @@ flowchart TB
T2["VM B - mdev 2"]
T3["VM C - mdev N"]
end
- subgraph MOD["open-iov-vfio.ko"]
+ subgraph MOD["vgsp.ko"]
Q1["Emulation context 1<br/>BARs, queues, counters"]
Q2["Emulation context 2"]
Q3["Emulation context N"]
diff --git a/docs/03-architecture/12-host-vf-acceleration-future-goal.md b/docs/03-architecture/12-host-vf-acceleration-future-goal.md
index 298b329..5a331c8 100644
--- a/docs/03-architecture/12-host-vf-acceleration-future-goal.md
+++ b/docs/03-architecture/12-host-vf-acceleration-future-goal.md
@@ -14,7 +14,7 @@
Give a process **running on the host OS** GPU acceleration through the open-iov
device model: bind the host's stock NVIDIA kernel driver to a virtual function
-or virtual device presented by `open-iov-vfio.ko`, so that host userspace
+or virtual device presented by `vgsp.ko`, so that host userspace
(`libcuda`, `nvidia-smi`, CUDA applications) consumes the mediated device the
way a guest does, with no VM in between.