diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-23 12:11:04 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-23 12:11:04 -0400 |
| commit | 21b8ebc9db1d0ae649d6406087ea22b54e3b5775 (patch) | |
| tree | 192aa5d3c76e0cf3a785936d9902c6848609d37e /userspace/cuda/570.144/docs | |
| parent | 631bd20c63a4058775a4fa549b9473915c918020 (diff) | |
| download | open-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/docs')
| -rw-r--r-- | userspace/cuda/570.144/docs/ANALYSIS-cuctxcreate-segv.md | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/userspace/cuda/570.144/docs/ANALYSIS-cuctxcreate-segv.md b/userspace/cuda/570.144/docs/ANALYSIS-cuctxcreate-segv.md index 9a15b51..db38802 100644 --- a/userspace/cuda/570.144/docs/ANALYSIS-cuctxcreate-segv.md +++ b/userspace/cuda/570.144/docs/ANALYSIS-cuctxcreate-segv.md @@ -1,5 +1,18 @@ # libcuda 570.144 `cuCtxCreate` segfault - analysis (2026-09-23) +> **Status: historical (2026-09-23 PART 9).** The segfault described here was +> fixed in PART 10 (the RM allocation reply now echoes the request parameters, +> which prevents a 16-byte class-params copy-back from zeroing the caller's +> saved frame pointer). The current blocker is the missing async copy engine in +> the emulated engine list (`cuCtxCreate` returns `999`). For the corrected, +> current analysis see +> [`../../docs/05-570.144-decompilation.md`](../../docs/05-570.144-decompilation.md) +> and [`../../READ-ME-FIRST.md`](../../READ-ME-FIRST.md). The runtime +> observations below (gdb traces, ioctl sequences) remain valid, and note that +> the decompiled files it references were produced at the wrong Ghidra image +> base (see PART 9's own address note and `../../docs/05` section 1.1). + + First analysis note for the CUDA userspace driver under Open-IOV. Companion to `../README.md` (tools) and the host/guest A/B harness (`tools/cuda-ab/`). |
