diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-06 20:17:53 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-06 20:17:53 -0400 |
| commit | 27d969d9a1850e096a46d43b268de0e2eb91e8b5 (patch) | |
| tree | f5b8ae3e2bb4b3b89432fd0c6e30f1560a6c5aab | |
| parent | 0c1e58b9ceeeff42931222ab14e36a18530a6b7b (diff) | |
| download | open-iov-27d969d9a1850e096a46d43b268de0e2eb91e8b5.tar.gz open-iov-27d969d9a1850e096a46d43b268de0e2eb91e8b5.zip | |
vgsp: mode 35 - V7 USERD index 4 (free fixed slot; index 3 collided with golden D, NV_ERR_NO_MEMORY 0x51)
| -rw-r--r-- | kernel/gsp_phys_booter.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c index ca58c28..208c135 100644 --- a/kernel/gsp_phys_booter.c +++ b/kernel/gsp_phys_booter.c @@ -1189,8 +1189,16 @@ bool gsp_phys_boot_requested(void) * PM ctxsw buffer: the captured raw size 0xd100 (the allocation is page * rounded; the promote entry keeps the captured raw size). */ +/* + * USERD_INDEX_VALUE: the captured user-lane word is index 3 on page 1, but + * the golden channel D already owns the fixed ChID derived from index 3, so + * V7 takes the m29-proven free slot index 4 (page bits are ignored for a + * sysmem USERD, m14). Requesting index 3 makes kfifoChidMgrAllocChid_IMPL + * fail NV_ERR_NO_MEMORY (0x51) exactly like GOLDEN9_SIBLING_A did before + * 9877623b. + */ #define GSP_PHYS_RMCALL_CHANNEL_FLAG_USER_LANE \ - (u32)(GSP_PHYS_RMCALL_CHANNEL_FLAG_PRIVILEGED | (3u << 8) | \ + (u32)(GSP_PHYS_RMCALL_CHANNEL_FLAG_PRIVILEGED | (4u << 8) | \ (1u << 21)) #define GSP_PHYS_RMCALL_CHANNEL_INTERNALFLAGS_USER_LANE 0x1du #define GSP_PHYS_RMCALL_TSG_FAULT_BUF_SIZE 0x2000u |
