summaryrefslogtreecommitdiffstats
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
commit3f3149198b030e81287d7abd473ce4cee5e9e178 (patch)
tree2519c144bf2ee002db8300242225464039790a40
parent8ed0c6edd03709d13f088a36e0902330b2e032c8 (diff)
downloadopen-iov-3f3149198b030e81287d7abd473ce4cee5e9e178.tar.gz
open-iov-3f3149198b030e81287d7abd473ce4cee5e9e178.zip
docs: record next-cycle readiness for the physical GSP boot
STATE-CURRENT and the integration page reflect the implemented sequencer, clean-shutdown RPC and static-info probe awaiting the next supervised live cycle.
-rw-r--r--STATE-CURRENT.md27
-rw-r--r--docs/03-architecture/08-physical-gpu-integration.md10
2 files changed, 29 insertions, 8 deletions
diff --git a/STATE-CURRENT.md b/STATE-CURRENT.md
index c8b4587..e118627 100644
--- a/STATE-CURRENT.md
+++ b/STATE-CURRENT.md
@@ -1,6 +1,6 @@
# Open-IOV Current State
-> **Snapshot: 2026-10-01 10:08.** This is a dated public status page, not live
+> **Snapshot: 2026-10-01 10:40.** This is a dated public status page, not live
> state; it is refreshed on every progress check. Live working notes are
> maintained outside this repository; the public known-knowns/unknowns document
> is authoritative here:
@@ -216,13 +216,24 @@ GPU is bound to `open-iov-gsp-phys` and runtime-active; `nvidia` stays unbound
fresh live cycle needs a power cycle.
**Next steps:** (a) execute the 0x1002 sequencer command buffer in the module
-and log 0x1001 as `stage 3e complete` - the sequencer executor is now
-implemented in the module sources (BAR0 register-write/modify/poll, delay,
-store and core-resume opcodes) and awaits the next live cycle; (b) implement
-the command-queue TX path
-and send `UNLOADING_GUEST_DRIVER` on release so teardown passes the handoff
-gate and the GPU can be handed back without a reboot; (c) reboot (with
-approval, handoff first) when ready to test the next live cycle.
+and log 0x1001 as `stage 3e complete`; (b) send `UNLOADING_GUEST_DRIVER` on
+the command queue so the server shuts down, sets the remaining handoff bit and
+teardown can hand the GPU back without a reboot; (c) prove a request/reply
+round trip with the server. All three are now implemented but not yet loaded:
+the module sources contain the sequencer executor (BAR0 register-write/modify/
+poll, delay, store and core-resume opcodes), a generalized msgq producer
+(multi-element records, checksum/sequence/free-space rules, doorbell) with the
+unload RPC, a reply-matching status-queue reader, and a debugfs probe that
+requests the server's static configuration after init-done. The rebuilt module
+awaits the next supervised live cycle (which requires a power cycle, with
+approval, because the current claimed session cannot be released); the rung
+4a/4b/4c code passed an adversarial wire-format review plus its fixes.
+
+**Prepared for the next cycle (build, not loaded):** `open-iov-vfio.ko` sha256
+`f61308bd…`; the cycle should run `phys_claim_cycle.sh --yes --hold 60
+--cycles 1 --boot --keep`, then exercise `gsp-phys-rm-probe` (static-info
+round trip) and `gsp-phys-unload-rpc` (server shutdown) through the module's
+read-only/debug state files before a clean `rmmod`.
Ending the claimed session (harness notice): `sudo rmmod open_iov_vfio`, then
`echo auto | sudo tee /sys/bus/pci/devices/0000:01:00.0/power/control` and the
diff --git a/docs/03-architecture/08-physical-gpu-integration.md b/docs/03-architecture/08-physical-gpu-integration.md
index f4dfa68..c0db8ec 100644
--- a/docs/03-architecture/08-physical-gpu-integration.md
+++ b/docs/03-architecture/08-physical-gpu-integration.md
@@ -345,6 +345,16 @@ per-context scheduling. Tenant policy and fairness are a later layer on top.
session test the shutdown without touching WPR2. All of it is inert unless
the full boot stage ran; the code has not yet run live, and this bullet
must be updated with the live outcome.
+* **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
+ 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
+ caps), falling back once to `SET_GUEST_SYSTEM_INFO` plus one retry; the
+ command-queue producer now splits records across up to 16 queue elements
+ and the status-queue walk coalesces multi-element records. Not yet run
+ live; the module was built only.
## 9. Interaction sequence (end state)