summaryrefslogtreecommitdiffstats
path: root/docs/03-architecture/06-host-module-and-hybrid-model.md
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-29 16:11:28 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-29 16:11:28 -0400
commit78b8f909784676c5ec6f02a6c48d51ec2a589f96 (patch)
tree3bf70f86312b66071ea9a96debcf84fe25ff4ae8 /docs/03-architecture/06-host-module-and-hybrid-model.md
parentad16069d87c3c852b3f3c68ed41c62d581c213ed (diff)
downloadopen-iov-78b8f909784676c5ec6f02a6c48d51ec2a589f96.tar.gz
open-iov-78b8f909784676c5ec6f02a6c48d51ec2a589f96.zip
docs: add the full-system picture and interaction/scheduling diagrams
- new 03-architecture/09-full-system-picture.md: end-state map, GSP boot, guest init, RPC lifecycle, memory model, work path (bridge and end state), scheduling, isolation levels, KVM/mdev/VFIO, BAR/engine/channel/GMMU, portability, performance model, implementation/test status - new 03-architecture/10-interaction-and-scheduling.md: interaction inventory, control-plane call path, msgq element lifecycle, channel pump, concurrency, timing budgets, multi-tenant scheduling, teardown ordering, versioning - README: mermaid system diagram replaces the ASCII block; reading list extended and renumbered - component docs: GSP boot sequence, mdev/VFIO lifecycle, end-state interaction sequence; STATE-CURRENT links
Diffstat (limited to 'docs/03-architecture/06-host-module-and-hybrid-model.md')
-rw-r--r--docs/03-architecture/06-host-module-and-hybrid-model.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/docs/03-architecture/06-host-module-and-hybrid-model.md b/docs/03-architecture/06-host-module-and-hybrid-model.md
index 61be96c..e29951c 100644
--- a/docs/03-architecture/06-host-module-and-hybrid-model.md
+++ b/docs/03-architecture/06-host-module-and-hybrid-model.md
@@ -31,6 +31,28 @@ exposes one device type per supported profile. Each `mdev` instance is an
independent virtual GPU with its own state, its own BAR windows, its own
interrupts and its own emulation context.
+```mermaid
+sequenceDiagram
+ autonumber
+ participant ORCH as Orchestrator
+ participant SYS as Module and mdev sysfs
+ participant QEMU as QEMU with vfio-pci
+ participant KVM as KVM
+ participant GUEST as Guest
+
+ ORCH->>SYS: create mdev for a VM
+ QEMU->>SYS: open VFIO device, mmap regions, set IRQ eventfds
+ QEMU->>KVM: map guest RAM, register irqfd
+ GUEST->>SYS: MMIO and DMA through the emulated device
+ SYS-->>GUEST: MSI-X via eventfd to irqfd
+ ORCH->>SYS: destroy mdev after the VM stops
+```
+
+The full interaction and scheduling detail is in
+[`10-interaction-and-scheduling.md`](10-interaction-and-scheduling.md); the
+end-to-end maps are in
+[`09-full-system-picture.md`](09-full-system-picture.md).
+
## 2. Virtual device
### 2.1 PCI configuration space