summaryrefslogtreecommitdiffstats
path: root/docs/05-operations/02-debugging-and-maintenance-workflows.md
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 11:28:49 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 11:28:49 -0400
commitc17da06d6cd8b9c69449904637bf37729a962989 (patch)
treeb51618fd63b776cd545f64fd40729af6154996b2 /docs/05-operations/02-debugging-and-maintenance-workflows.md
parent002e3d7d13c414ea874abbee8d82803dd3a72fe5 (diff)
downloadopen-iov-c17da06d6cd8b9c69449904637bf37729a962989.tar.gz
open-iov-c17da06d6cd8b9c69449904637bf37729a962989.zip
docs: engineering-operations playbook and project-wide status accuracy pass
- docs/eng-ops.md gains Part II, live physical-backend engineering operations: hard rules, the full module-parameter matrix, the routine supervised cycle and clean-release checklist, the debugfs inventory, how to read gsp-phys-state, a debugging scenario catalogue (CTXNOTVALID/promote wedge, fail-safe WPR2, unload hangs, guest wedges, MMU/PTE and PBDMA faults, relay symptoms), a hazard register (crash causes and debugging side effects), the physical-backend OODA loop, and the work-context map with porting flows - architecture, implementation, operations, orientation, getting-started, portability, ecosystem and reference docs corrected to the current state: CUDA driver-API smoke green, CE-class work forwarding and engine-authored releases plus fault relay in place (default off), GR execution blocked on engine-context validity, the promote wedge and designed locked fail-safe, and P5 wave-2 subsumed - internal-reference cleanup in tracked docs (no analysis-source or local-archive references); historical architecture document bannered - README reading list and STATE-CURRENT frontier refreshed; new pages (runbook, green-eye user guide, porting sequence, porting/packaging notes) linked from the tree Link check: scripts/check-docs-links.py passes (56 files, no broken links).
Diffstat (limited to 'docs/05-operations/02-debugging-and-maintenance-workflows.md')
-rw-r--r--docs/05-operations/02-debugging-and-maintenance-workflows.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/docs/05-operations/02-debugging-and-maintenance-workflows.md b/docs/05-operations/02-debugging-and-maintenance-workflows.md
index 8d711c6..cfc452d 100644
--- a/docs/05-operations/02-debugging-and-maintenance-workflows.md
+++ b/docs/05-operations/02-debugging-and-maintenance-workflows.md
@@ -322,6 +322,34 @@ version × each hardware family, run the step-5 bring-up sequence. When adding
a version, extend the matrix rather than replacing the old column —
regressions across versions are the cheapest bugs to catch.
+### 4.1.1 Green-eye-assisted upgrade/porting workflow (experimental)
+
+<!-- change (2026-10-02): add the green-eye probe -> symbols -> version diff ->
+portability matrix -> decide pipeline to the upgrade runbook, with pointers to
+the new RUNBOOK and green-eye user guide; additive only. -->
+
+For firmware-side questions the experimental green-eye tooling (see
+[`03-risc-v-gsp-rm-vm.md`](03-risc-v-gsp-rm-vm.md)) turns steps 3–5 above into
+a repeatable pipeline that produces attachable evidence before any emulation
+change. It never replaces the physical backend when silicon truth is required,
+and it never touches a guest, a kernel module or the installed driver.
+
+| Rung | Command (from `debug/risc-v-gsp-rm-vm/`) | Output |
+|---|---|---|
+| Probe | `./greeneye.sh probe <new.fwimage> --symbols symbols-<ver>.json --record` | first-divergence report; first-touch map |
+| Symbols | `./greeneye.sh symbols export --index <export.tsv> --bias 0 -o symbols-<ver>.json` | runtime-address symbol DB with provenance |
+| Version diff | `python3 harness/version_diff.py --old <old> --new <new> --out dumps/vdiff-<ver>` | shape/symbol/corpus/probe/behavior diff plus the M1–M6 skeleton |
+| Portability matrix | `python3 harness/portability_matrix.py --target <old> --target <new> --out dumps/matrix-<ver>` | per-target sessions and per-pair `compare` reports |
+| Decide | `./greeneye.sh compare dumps/<old-run> dumps/<new-run> --symbols` | symbol-attributed deltas; a product change only after physical confirmation |
+
+Decision discipline: verify the pairing first; behaviour that moved without a
+code change is usually a state/ordering fix; changed code on a live path is
+prioritised; a symbol never hit in either run is a coverage gap, not dead code.
+The full incident procedures (symptoms, evidence, response order, rollback) are
+in the [Open-IOV Defensive Operations Runbook](../RUNBOOK.md) S1 and its OODA
+ordering; the quickstart and tool chooser are in the
+[green-eye user guide](04-green-eye-user-guide.md).
+
### 4.2 New guest driver version
1. Install the stock driver in a guest (no patches).