From 692c095ae48f2829613873e60e4dbbf14b36323d Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Wed, 23 Sep 2026 12:11:10 -0400 Subject: docs: refresh status, supersede stale material, link the CUDA analysis * Status now matches the live state: guest driver probe and nvidia-smi work; cuInit/device queries work; cuCtxCreate returns 999 because the emulated engine list is missing the async copy engine (COPY14). The userspace libcuda segfault is recorded as solved, with its mechanism (an RM allocation reply must echo request parameters; zeroing them corrupted the caller's saved frame pointer). * Correct the emulation claims: only a subset of RM controls are special-cased; the rest return a success reply with zeroed parameters whose consumed fields are still being corrected; allocation replies are coherent but no server-side object model exists. * Add the eight-point emulation checklist and reply-fidelity ladder as explicit gates, documented in userspace/cuda and linked from the architecture, implementation and operations docs. * Fix operational errors: build/test commands, module load order, mdev type names, LFS references, debugfs claims, in-repo firmware claims, CI claims, portability matrix (guest status, config layout, userspace driver facts). * Mark historical material: one superseded banner per legacy document with a pointer to its replacement; STATE.md marked as a 2026-09-21 snapshot. * Wiki: fix the index, add status banners and in-place factual corrections (msgq transport vs legacy mailbox, BAR definitions, error statuses, migration, glossary), and note the archived 2023 imports. --- docs/tools/README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'docs/tools/README.md') diff --git a/docs/tools/README.md b/docs/tools/README.md index 232fbe5..c5ebb9f 100644 --- a/docs/tools/README.md +++ b/docs/tools/README.md @@ -17,6 +17,10 @@ from the driver components we studied by reverse engineering and decompilation | `guest_test_agent.py` | `tools/guest_agent/` | Guest-side test agent (vsock/TCP) | | `debug_guest_init.sh` | `scripts/` | One-command debug launch (QEMU + GDB + monitor) | | `windows_guest_automation.sh` | `scripts/` | Windows guest automation via WinRM | +| `rmq` | `tools/rmq/` | Host RM-API oracle: queries the host RM via `/dev/nvidia0` for ground-truth GPU/engine data | +| `cudatool.py`, `callwalk.py`, `ghidra_decompile_at.sh`, `annotate_corpus.py` | `userspace/cuda/tools/` | CUDA userspace analysis: crash decode, callgraph walk, decompile-at, corpus annotation | +| `guest_engines.c`, `ioctl_trace.c` | `tools/guest-diag/` | Guest-side engine-list dump and NVIDIA-ioctl tracer | +| `ab.sh`, `vector_add.cu` | `tools/cuda-ab/` | Host-vs-guest CUDA A/B harness with diffable results | ### RM API Tooling (Planned) | Tool | Documentation | Description | @@ -65,7 +69,11 @@ tools/ ## Integration with Open-IOV Stack Tools will integrate with the host VFIO driver via: - `/dev/nvidia*` character devices (existing nvidia.ko) -- `open-iov-vfio.ko` debugfs interface (`/sys/kernel/debug/open-iov-vfio/`) +- `open-iov-vfio.ko` observability: **there is currently no debugfs interface** — + stats and traces come from `dmesg`, and the module's write-only parameters + (`scan_guest_ram`, `scan_vidmem`, `scan_seq`, `sema_probe`, `scan_pt`, + `scan_masked`, `fill_vidmem`, `poke_guest`, `poke_fill`, `dump_vidmem`, + `dump_guest`) drive guest-memory inspection - VFIO ioctls for guest state introspection - GSP-RM telemetry via firmware analyzer / dynamic dispatcher -- cgit v1.2.3