diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-09 15:45:21 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-09 15:45:21 -0400 |
| commit | 90ed3273a6b7b0241954fde6b2d34ab3270d9081 (patch) | |
| tree | 77ff0d91112204102e1e6e5be77c566f8ec684b6 /kernel/gsp_phys_fwsec.c | |
| parent | b2fdd56bfa51d4a1dbc5fe91adb7b82d15e02c00 (diff) | |
| download | open-iov-90ed3273a6b7b0241954fde6b2d34ab3270d9081.tar.gz open-iov-90ed3273a6b7b0241954fde6b2d34ab3270d9081.zip | |
vgsp-sema: CE layout USERD accepts on PUT alone; GET is GPU-owned (ISSUE-0002)
r47 guest truth (channel_info walk in the hung second client): every CE
channel's GP_PUT/GP_GET GPU VAs are ring+0x2008c / ring+0x20088 and the live
rank0 USERD is the layout block at fb 0x90000 (the emulation's offsets were
right all along). The coherence gate required g <= p, but the GET word is
GPU-owned and holds leftovers (session 2 rank0: PUT=1, GET=136 from the
previous session) - so the live block was rejected forever (r44 strict never
accepted; r42/r46 latched the stale registered candidate). Accept the CE
layout block when the PUT word is plausible; the pump tracks ch->last_get
and rewrites GP_GET as it consumes entries.
Diffstat (limited to 'kernel/gsp_phys_fwsec.c')
0 files changed, 0 insertions, 0 deletions
