diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 16:11:28 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-29 16:11:28 -0400 |
| commit | 78b8f909784676c5ec6f02a6c48d51ec2a589f96 (patch) | |
| tree | 3bf70f86312b66071ea9a96debcf84fe25ff4ae8 /docs/03-architecture/03-gsp-and-gsp-rm.md | |
| parent | ad16069d87c3c852b3f3c68ed41c62d581c213ed (diff) | |
| download | open-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/03-gsp-and-gsp-rm.md')
| -rw-r--r-- | docs/03-architecture/03-gsp-and-gsp-rm.md | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/03-architecture/03-gsp-and-gsp-rm.md b/docs/03-architecture/03-gsp-and-gsp-rm.md index 8809bb7..fe51838 100644 --- a/docs/03-architecture/03-gsp-and-gsp-rm.md +++ b/docs/03-architecture/03-gsp-and-gsp-rm.md @@ -54,6 +54,29 @@ Our emulation implements stage completion rather than the stages themselves — which is legitimate because the *only observable* to the driver is the state machine it polls. +```mermaid +sequenceDiagram + autonumber + participant GD as Guest driver + participant R0 as BAR0 shadow + participant GE as GSP emulation thread + participant MQ as Message queues in guest sysmem + participant GRM as GSP-RM emulation + + GD->>R0: WPR descriptors and boot kicks + GE-->>R0: stage status transitions + GD->>R0: poll for boot complete + R0-->>GD: firmware running + GD->>MQ: set up queues and ring the doorbell + GE->>MQ: read and dispatch elements + GRM-->>MQ: write replies + GE-->>GD: MSI-X completion +``` + +The cross-component detail (doorbells, queues, interrupts, latency classes) is +in [`09-full-system-picture.md`](09-full-system-picture.md) and +[`10-interaction-and-scheduling.md`](10-interaction-and-scheduling.md). + ## 3. The transport: message queues and RPC GSP-RM's transport is a shared-memory message queue pair: |
