<feed xmlns='http://www.w3.org/2005/Atom'>
<title>open-iov.git/.gitignore, branch gr-forwarding</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=gr-forwarding</id>
<link rel='self' href='https://git.vgpu.io/open-iov.git/atom?h=gr-forwarding'/>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/'/>
<updated>2026-10-02T15:44:31+00:00</updated>
<entry>
<title>rename (cosmetic): green-eye -&gt; risc-v-gsp-rm-debugger in user-facing names, docs, CLI, launcher and CI workflow; internal greeneye package/module identifiers unchanged (includes in-flight greeneye module edits present in the tree)</title>
<updated>2026-10-02T15:44:31+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-02T15:44:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=1c99bfbeffff04529f6f669601fdf835a73778da'/>
<id>urn:sha1:1c99bfbeffff04529f6f669601fdf835a73778da</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gitignore: keep the local evidence workspace and generated demo artifacts untracked; drop built RM tool binaries (source and Makefiles stay)</title>
<updated>2026-10-02T15:30:46+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-02T15:30:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=f02ba2b6b0059e55e4777cb3a2e6fa87dc6438f3'/>
<id>urn:sha1:f02ba2b6b0059e55e4777cb3a2e6fa87dc6438f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: add complete SBOM, ignore local deployment resources, remove stale third-party references</title>
<updated>2026-10-02T06:50:38+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-02T06:50:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=0054d3acbc3017d2a535239f8153d3c99f7abc18'/>
<id>urn:sha1:0054d3acbc3017d2a535239f8153d3c99f7abc18</id>
<content type='text'>
</content>
</entry>
<entry>
<title>gitignore update</title>
<updated>2026-10-02T06:14:14+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-10-02T06:13:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=559415eb28bf9bf3d7525cbc27c2cfbaeffd9820'/>
<id>urn:sha1:559415eb28bf9bf3d7525cbc27c2cfbaeffd9820</id>
<content type='text'>
</content>
</entry>
<entry>
<title>kernel: coherent GSP-RM replies for engine-context creation</title>
<updated>2026-09-23T15:46:33+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-23T15:46:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=534131933ef24d602314281573db4ef16cc08a93'/>
<id>urn:sha1:534131933ef24d602314281573db4ef16cc08a93</id>
<content type='text'>
- 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 -&gt; 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.
</content>
</entry>
<entry>
<title>docs: public analysis describes components and behaviour only</title>
<updated>2026-09-23T11:36:38+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-23T11:36:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=7ec899ccdfd0298f365e1613c1ac5bfcfa551475'/>
<id>urn:sha1:7ec899ccdfd0298f365e1613c1ac5bfcfa551475</id>
<content type='text'>
Move supporting detail to the adjacent local analysis notes (gitignored;
referenced by name from the public analysis) and ignore those notes tree-wide.
No behaviour or code changes.
</content>
</entry>
<entry>
<title>Untrack legacy trees and purely legacy docs (kept locally)</title>
<updated>2026-09-23T10:06:26+00:00</updated>
<author>
<name>Arthur Hanson Rasmusson</name>
<email>arthur@vgpu.io</email>
</author>
<published>2026-09-23T10:06:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=49f6cc35af91e2a403490cd9319166dd14f5f64e'/>
<id>urn:sha1:49f6cc35af91e2a403490cd9319166dd14f5f64e</id>
<content type='text'>
- patches/ -&gt; legacy-patches/ (gitignored)
- legacy-driver-guest/ (old guest vGPU driver, gitignored)
- docs/old/ (superseded architecture write-up, gitignored)
- docs that only reference the legacy components stay tracked; their path
  references now point at legacy-patches/
- install.sh PATCH_DIR updated
</content>
</entry>
<entry>
<title>Open-IOV: initial public release</title>
<updated>2026-09-23T09:46:43+00:00</updated>
<author>
<name>Open-IOV</name>
<email>dev@open-iov.org</email>
</author>
<published>2026-09-23T09:44:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vgpu.io/open-iov.git/commit/?id=68cdd7728a7cc6715bbbff7decfe2b11c3bdf558'/>
<id>urn:sha1:68cdd7728a7cc6715bbbff7decfe2b11c3bdf558</id>
<content type='text'>
Open-IOV virtualizes NVIDIA GPUs so that unmodified guest drivers run with
real GPU functionality - CUDA first, 3D and video to follow - on unmodified
hosts, without a proprietary vGPU license and without patching any driver,
firmware or hypervisor.

Core principle: emulate the interface, pass through the work.

  kernel/     open-iov-vfio.ko - host VFIO mdev driver: virtual GPU device
              (PCI config space, BAR shadows, MSI-X), GSP boot emulation,
              GSP-RM message-queue/RPC emulation, memory model (GPU-VA to
              guest-PA discovery) and the semaphore-completion service that
              advances guest UVM progress.
  userspace/  libiov.so management API and examples.
  tools/      guest diagnostics, firmware analysis wrappers, RM probes.
  scripts/    stack manager, VM harness, build/load/test automation.
  config/     hardware/version profiles (the portability surface).
  docs/       documentation tree - start at docs/README.md.
  wiki/       long-form firmware and protocol deep dives.

Status: initialization works end to end for a stock 570.144 Linux guest on
Turing (TU104): driver probe, nvidia-smi, the full GSP-RM control battery,
object creation and the early CUDA/UVM start-up path. GPU work forwarding -
the step that makes CUDA kernels execute on real hardware - is the active
work item; see docs/04-implementation/01-known-knowns-and-unknowns.md.

License: BSD-3-Clause for the project; GPL-2.0 for kernel modules that link
GPL-only kernel interfaces. See LICENSE and docs/09-reference/legal-and-licensing.md.
</content>
</entry>
</feed>
