summaryrefslogtreecommitdiffstats
path: root/userspace/cuda
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-23 07:15:28 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-23 07:15:28 -0400
commit50999f7b3436aa4d7b62ce8b44f595c35e88ff6a (patch)
tree2f82f28d3d97f4e5ac1fcefeca364b0c5dc3a9e8 /userspace/cuda
parent94ed147f5144554501422010824bafad039c36d9 (diff)
downloadopen-iov-50999f7b3436aa4d7b62ce8b44f595c35e88ff6a.tar.gz
open-iov-50999f7b3436aa4d7b62ce8b44f595c35e88ff6a.zip
userspace/cuda: engine-list path summarised in the public analysis
Records that libcuda builds an async copy-engine list from per-engine records (engine kind, runlist, class) received with the device information, which is derived from the GSP static info engine table this project emulates, and that the crashing per-engine helper operates on those records. The adjacent local analysis notes (userspace/cuda/570.144/LOCAL-ANALYSIS.md) carry supporting detail.
Diffstat (limited to 'userspace/cuda')
-rw-r--r--userspace/cuda/570.144/docs/ANALYSIS-cuctxcreate-segv.md12
1 files changed, 12 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 95b6237..9a15b51 100644
--- a/userspace/cuda/570.144/docs/ANALYSIS-cuctxcreate-segv.md
+++ b/userspace/cuda/570.144/docs/ANALYSIS-cuctxcreate-segv.md
@@ -147,6 +147,18 @@ unexpected engine descriptor/class and loses the caller's frame while
reporting it**. The engine descriptor contents (and what the emulation
advertised for that engine) are the next thing to inspect.
+## The engine-list path (summary)
+
+The engine-list construction path for this library is summarised here:
+
+* libcuda builds an **async copy-engine list** from per-engine records
+ (engine kind, runlist, class) it receives with the device information.
+* The device information is derived from the GSP static info engine table
+ this project emulates (`tu104_engine_table`: 11 hardware engines,
+ runlists 0=GR, 1..5=CE0..4, 6..7=NVDEC, 8=NVENC, 9=SEC2, 10=NVJPG).
+* Only copy-engine records with a positive runlist become async channels;
+ the runlist value is reused when a channel is created (0 for GR).
+
## What is NOT (yet) analysed
* No full auto-analysis output was reviewed beyond the functions above;