diff options
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.md | 22 |
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 |
