summaryrefslogtreecommitdiffstats
path: root/docs/03-architecture/06-host-module-and-hybrid-model.md
diff options
context:
space:
mode:
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