<feed xmlns='http://www.w3.org/2005/Atom'>
<title>open-iov.git/kernel/gsp_phys_gpu.c, branch m31</title>
<subtitle>Open-IOV vGPU-IO: host-side GSP emulation for unmodified NVIDIA guest drivers
</subtitle>
<id>https://git.vgpu.io/open-iov.git/atom?h=m31</id>
<link rel='self' href='https://git.vgpu.io/open-iov.git/atom?h=m31'/>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/'/>
<updated>2026-10-06T19:24:42+00:00</updated>
<entry>
<title>vgsp: mode 31 - D-golden-first TSG-sibling ordering (compile-verified, untested)</title>
<updated>2026-10-06T19:24:42+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-06T19:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=8df4ee7a383bf9d29ba40c2f19d2adb4bc3f5bcd'/>
<id>urn:sha1:8df4ee7a383bf9d29ba40c2f19d2adb4bc3f5bcd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vgsp: m26 GR launch discriminator - rebuilt window (prelude off), QMD-virt 0x29c, w63 sentinel</title>
<updated>2026-10-06T19:19:54+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-06T19:19:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=dc5b6507889d07003cf01ed1d784c0faf48bec03'/>
<id>urn:sha1:dc5b6507889d07003cf01ed1d784c0faf48bec03</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vgsp: TSG-sibling mode 30, UVM-stall Patch C, QMD shadow-window ensure + launch diagnostics</title>
<updated>2026-10-06T18:23:29+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-06T18:23:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=039daee13c5bac50919eff1ca26977ac49e37b06'/>
<id>urn:sha1:039daee13c5bac50919eff1ca26977ac49e37b06</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vgsp: mode-29 construct-last golden execution lane + fetch-aligned USERD control offset</title>
<updated>2026-10-06T17:35:23+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-06T17:35:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=61c2434533045524dfbb70e4d9aa82c08a5272db'/>
<id>urn:sha1:61c2434533045524dfbb70e4d9aa82c08a5272db</id>
<content type='text'>
- New mode 29 (GOLDEN_EXEC_LAST): identical to mode 28 but skips the
  TURING_COMPUTE_A alloc on the client-wired golden channel (every GR object
  construct there blocks RM); stage 3 completes with the golden handle
  swapped and BIND/GPFIFO_SCHEDULE/token are accepted. Param clamp 0..29.
- Shape bits: bit6 TSG parent (alloc accepted, same no-fetch), bit7 host
  USERD control offset 0 (THE FETCH FIX: the server applies the sysmem
  userd_mem base directly and ignores the captured USERD_INDEX_VALUE=3, so
  GP_PUT/GP_GET live at +0x8c/+0x88; m14: GP_GET advanced 1), bit8
  pre-promote compute object (invalid order: RM blocked -110 + NOCAT
  0x52a8b04).
- Failure diagnostics: REAL GR SEM FAILED now dumps both candidate USERD
  control offsets (ctl and alt).
</content>
</entry>
<entry>
<title>vgsp: golden-exec shape bisection + fwclient per-entry promotion + pool-VA stall fix</title>
<updated>2026-10-06T15:57:33+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-06T15:57:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=3f892b2924c0bdd15aaa04899b879601bd263981'/>
<id>urn:sha1:3f892b2924c0bdd15aaa04899b879601bd263981</id>
<content type='text'>
- Mode 28 golden execution lane behind gsp_phys_rmcall_gr_promote=28 with a
  shape bitmask (gsp_phys_rmcall_golden_exec_shape: ring / entries=8 / sysmem
  USERD / USERD size / hObjectBuffer=VAS / skip replay TURING_A) and a USERD
  control-offset helper. Finding: the RM-managed golden channel hangs any GR
  object construct (-110, no assert) as soon as client submission wiring
  (ring or sysmem USERD) is attached, so only the captured server-owned shape
  constructs; the machinery is kept for future wiring ideas.
- fwclient mask bit 11 (0x800): send each non-MAIN FWCLIENT promote entry as
  its own one-entry control and continue past refusals. V6 acceptance matrix:
  PM, PATCH, PRIV_ACCESS_MAP, UNRESTRICTED_PRIV_ACCESS_MAP accepted,
  FECS_EVENT refused 0x1f.
- fwclient mask bit 12 (0x1000): golden9 VA-only global bookings (BUNDLE_CB,
  PAGEPOOL, ATTRIBUTE_CB, RTV_CB_GLOBAL) accepted on V6; bits 13/14
  (0x2000/0x4000): FECS PA-only (refused 0x1f) and FECS VA-only (accepted).
- gsp_phys_rmcall_srv_main_ignore: ignore a server-reported MAIN in the
  srv-ctx commit and force the client INITIALIZE_CTX + VA-only fallback.
- gsp_sema_service: pool semaphores never fall back to the learned map; queue
  the absolute release via svc_pending_add until svc_pool_pa_resolve
  succeeds, and judge pool slots through the verified resolver in
  svc_apply_pending and the release decode (UVM registration stall fix).
</content>
</entry>
<entry>
<title>vgsp: mode 27 - golden9 context promote on the V6 execution channel only</title>
<updated>2026-10-06T12:01:32+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-06T12:01:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=4612968b4429c90e2df057f3d92d849e82d6342e'/>
<id>urn:sha1:4612968b4429c90e2df057f3d92d849e82d6342e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vgsp: add golden-replay mode 25 (captured client construct + atomic 9-entry promote)</title>
<updated>2026-10-05T21:16:18+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-05T21:16:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=fc8d7923c83c6babd0ee8c23565ac18b709fa5a5'/>
<id>urn:sha1:fc8d7923c83c6babd0ee8c23565ac18b709fa5a5</id>
<content type='text'>
Ladder mode 25 reproduces the real 570.144 host client's golden-image
construct on the golden replay handles: captured channel shape (flags
0x00200320, hObjectBuffer 0, gpFifoOffset 0, gpFifoEntries 0x20,
engineType 1, host memdesc substitutions), a single atomic 9-entry
GPU_PROMOTE_CTX on the golden channel (MAIN id0 and PATCH id2 combined,
ids 3/4/5/6 VA-only globals, ids 9/10/11 FECS/PRIV/UNR combined), then
the TURING_A 3D object. The golden VAS/channel/3D object stay alive and
the existing V6 FWCLIENT promote follows on the golden-initialized
GR-instance state; a failed golden step aborts with no retry and no
follow-up promote. The captured VAS COPY_SERVER_RESERVED_PDES control is
implemented gated (fwclient mask bit 8, zero-level no-op form) because
its level PAs are server-internal. Mode clamp/name/help extended to 25;
modes 1-24 unchanged.
</content>
</entry>
<entry>
<title>vgsp: FWCLIENT entry-selection mask and golden-replay hardening</title>
<updated>2026-10-05T20:04:33+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-05T20:04:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=7c1fceb5654cda3628531214934b93e96a507700'/>
<id>urn:sha1:7c1fceb5654cda3628531214934b93e96a507700</id>
<content type='text'>
- gsp_phys_rmcall_fwclient_mask (default 0x3f): per-entry selection for the
  mode-24 FWCLIENT promote set; bit6 selects the MAIN UVM VA-only shape.
- golden replay: tolerate the client-local system-memory PB step and continue
  with hObjectBuffer=0; on-ladder TURING_A 3D object retained best-effort.

Live bisection on the KMD channel: MAIN alone reaches the per-buffer commit
and stops at the engine-context memdesc state; PM-only and PATCH-only are
accepted; any multi-entry control containing MAIN is refused 0x1f. All
cycles release clean.
</content>
</entry>
<entry>
<title>vgsp: GR golden-replay groundwork and FWCLIENT promote mode 24</title>
<updated>2026-10-05T19:58:43+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-05T19:58:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=5a77352f78e6cd28280f2dc559f677d31ae25c38'/>
<id>urn:sha1:5a77352f78e6cd28280f2dc559f677d31ae25c38</id>
<content type='text'>
- golden replay (gsp_phys_rmcall_golden, default off): replay the stock
  client's post-load golden channel allocations (separate VAS, pushbuffer
  objects, USERD, bare GR channel, TURING_A 3D object) before the ladder
  channel; best-effort: a failure warns and the ladder continues.
- on-ladder TURING_A (0xc597) 3D object allocation before the compute
  object (best-effort) to initialize server-side GR-instance state.
- promote mode 24: the reference FWCLIENT non-3D set (MAIN, PM, PATCH,
  FECS_EVENT, PRIV_ACCESS_MAP, UNRESTRICTED_PRIV_ACCESS_MAP) as one
  GPU_PROMOTE_CTX on the KMD channel, with per-entry logging and explicit
  omission semantics; mode clamps/descriptions extended to 24.

Live: mode 23 soft-stops 0x1f on the server-managed shared channel and
reaches the per-buffer commit on the KMD channel, where it stops at the
missing engine-context memdesc; mode 24 emits all six entries and is
refused with 0x1f before BIND. All cycles release clean, GPU green.
</content>
</entry>
<entry>
<title>vgsp: GR promote mode 23 (hVirtMemory FBMEM server-managed commit shape)</title>
<updated>2026-10-05T19:10:01+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-05T19:10:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=7e5c30f5b47ad215970ab9e5ad9c53a3b3ea6321'/>
<id>urn:sha1:7e5c30f5b47ad215970ab9e5ad9c53a3b3ea6321</id>
<content type='text'>
The hVirtMemory no-entry promote backed by the server-owned FBMEM context object (GSP_RM_ALLOC class 0x40) on the server-managed shared V5 channel. A physical memdesc bypasses the server-booked engine-ctx vaList and hands the memdesc straight to the per-buffer commit 0x5b00d2c, the one remaining promote shape on the stable shared+srvctx path. Runs grv23/grv23v6 soft-stop at PROMOTE_CTX hVirtMemory status=0x1f before BIND with clean releases.
</content>
</entry>
</feed>
