diff options
Diffstat (limited to 'kernel/gsp_phys_booter.h')
| -rw-r--r-- | kernel/gsp_phys_booter.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/kernel/gsp_phys_booter.h b/kernel/gsp_phys_booter.h index 81f1803..3a19060 100644 --- a/kernel/gsp_phys_booter.h +++ b/kernel/gsp_phys_booter.h @@ -416,9 +416,17 @@ int gsp_phys_boot_rm_unload(void __iomem *bar0); * selects the GR0 engine for the same ladder: the TSG/channel carry * engineType 1, the channel walk is a single no-retry V5 attempt, a * TURING_COMPUTE_A (0xc5c0) engine object is allocated on the channel, - * BIND uses engineType 1 and stage 4 releases a GR semaphore instead of - * copying (logged as REAL GR SEM OK / REAL GR SEM FAILED); all CE - * forwarding paths refuse once per staging. Writing 9 re-runs one GR + * and the GR engine-context MAIN buffer is queried (device context + * properties + subdevice MAX_SUBCONTEXT_PER_GROUP), allocated as one + * contiguous zeroed sysmem buffer, mapped through fresh PDB slots above + * the guest scratch pool and promoted with NV2080_CTRL_CMD_GPU_PROMOTE_CTX + * carrying both its PA (bInitialize) and VAS VA (bNonmapped=0) so the + * server commits ENG_CTX_VALID before BIND uses engineType 1; stage 4 + * then releases a GR semaphore instead of copying (logged as REAL GR SEM + * OK / REAL GR SEM FAILED); all CE forwarding paths refuse once per + * staging. Every context query/allocation/promote failure aborts the + * ladder with no retry and the context buffer is freed by + * gsp_phys_boot_staging_free() on release. Writing 9 re-runs one GR * semaphore release on an already-built GR ladder without a full stage * cycle (no RPC; requires the GR object and work-submit token). * - "gsp-phys-guest-gpa" (write-only, mode 0200): pin the one guest RAM |
