summaryrefslogtreecommitdiffstats
path: root/userspace/cuda/570.144/README.md
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-23 12:11:04 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-23 12:11:04 -0400
commit21b8ebc9db1d0ae649d6406087ea22b54e3b5775 (patch)
tree192aa5d3c76e0cf3a785936d9902c6848609d37e /userspace/cuda/570.144/README.md
parent631bd20c63a4058775a4fa549b9473915c918020 (diff)
downloadopen-iov-21b8ebc9db1d0ae649d6406087ea22b54e3b5775.tar.gz
open-iov-21b8ebc9db1d0ae649d6406087ea22b54e3b5775.zip
userspace/cuda: add CUDA userspace driver analysis, tooling and name maps
Add the analysis of the NVIDIA CUDA userspace driver used by Open-IOV VMs: * docs/01-08: architecture (layers, object model, threads, sync, memory, channels, launch), build and execution model, the driver/kernel/GPU interface contract, virtualization approaches, the 570.144 decompilation map with the corrected libcuda crash path and the current engine-topology blocker, tooling, and a version-upgrade playbook. * tools/: version-agnostic toolchain - stdlib ELF/interface toolkit (exports, unwind-table function map, wrapper resolution, version delta, crash address decode), callgraph walker, corpus annotator, and Ghidra analysis/decompilation/name-map scripts with resumable parallel drivers. * 570.144/annotations/: our name map (exports + resolved wrappers + verified internals) and subsystem index, tracked so naming work accumulates. * READ-ME-FIRST.md: reading guide with the fast lookup recipes. The full decompiled corpus and annotated corpus stay untracked (vendor- derived, gitignored under the version run/ tree).
Diffstat (limited to 'userspace/cuda/570.144/README.md')
-rw-r--r--userspace/cuda/570.144/README.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/userspace/cuda/570.144/README.md b/userspace/cuda/570.144/README.md
index f32b762..e2e56fd 100644
--- a/userspace/cuda/570.144/README.md
+++ b/userspace/cuda/570.144/README.md
@@ -2,6 +2,19 @@
Tools and notes for **debugging CUDA execution inside Open-IOV guests**.
+> **Full analysis now lives one level up.** See `../README.md` and
+> `../docs/` for the architecture documents, the complete 570.144
+> decompilation (29,254 functions, annotated corpus under
+> `run/analysis/decompiled-annotated/`), the corrected crash-path analysis
+> (`../docs/05-570.144-decompilation.md`) and the reusable tooling
+> (`../tools/`).
+>
+> **Address warning:** Ghidra loads this binary at image base `0x100000`.
+> `scripts/ghidra_decompile_project.sh` passed file vaddrs straight to Ghidra,
+> so decompilations produced with it (e.g. `run/helper_453ef0.c`) are of
+> addresses 0x100000 too low. Use `../tools/ghidra_decompile_at.sh`, which
+> translates file vaddr → Ghidra address automatically.
+
## Purpose (read this first)
These tools exist to make virtualized CUDA *work correctly and fast* in