diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-23 11:46:33 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-23 11:46:33 -0400 |
| commit | 5c47eacbe01f9353f2c21d96e1a3eb15a63fd991 (patch) | |
| tree | ee75e3aad470220a666dcc82276fdd621ebb3e69 /kernel/main.c | |
| parent | 6074b13d14c9c2436519e093145164bf433bc466 (diff) | |
| download | open-iov-5c47eacbe01f9353f2c21d96e1a3eb15a63fd991.tar.gz open-iov-5c47eacbe01f9353f2c21d96e1a3eb15a63fd991.zip | |
kernel: coherent GSP-RM replies for engine-context creation
- GSP_RM_ALLOC: echo the request payload back with status forced to NV_OK.
The kernel driver copies the reply params over the caller's params buffer
using the class-expected size, so a zeroed reply smashed libcuda's stack
(SIGSEGV at the engine-registration continuation); echoing makes the
copy-back idempotent.
- CE_GET_PHYSICAL_CAPS / CE_GET_ALL(_PHYSICAL)_CAPS: report sysmem, P2P and
BL copy caps and mark the GR-synchronous CE (GRCE, COPY0). Without a GRCE
the client's context walk ends with an empty secondary-engine record and
the engine RM alloc is issued with class 0 (rejected -> cuCtxCreate fails).
- TU104 engine table: CE0 shares the GR PBDMA ids (the driver's GR/GRCE
runqueue validation requires it), plus an entry for the async copy engine
(COPY14) advertised in the GSP static info engine caps.
- tools/guest-diag/ioctl_trace: decode the RM status fields of alloc,
control and free so the first failing driver call is visible in traces.
gitignore: keep the CUDA analysis scratch tree (incl. WORKING-HERE.md) local.
Diffstat (limited to 'kernel/main.c')
0 files changed, 0 insertions, 0 deletions
