2025-07 Update and Notes
Summary of Month
Plans
hvac-demo updates:
Add virtio-msg-loopback to hvac-demos
Add single QEMU + kernel demo to hvac-demos
Rebase virtio-msg-ffa demo to latest from Viresh
Rebase virtio-msg-amp demo in hvac-demos
First kernel RFC for virtio-msg (FFA and loopback)
AMP data structures spec
Highlights
Viresh has sent the first kernel RFC to LKML for virtio-msg
Supports virtio-msg-loopback and virtio-msg-ffa
hvac-demo updates:
Added demo-loopback to show virtio-msg-loopback
Added demo-amp-qemu-pci to show virtio-msg-amp in simplest form
QEMU that runs the system also provides a simple PCIe card that implements virtio-msg-amp
Kernel and minimal rootfs in initrd so demo runs quickly
Re-based demo-ffa-xen (new name for demo1) to use kernel code from LKML RFCv1 from Viresh
Renamed demos to have more descriptive names instead of numbers
Updated the container images at docker hub to match
Issues
No progress on formal spec for AMP data structures. Moved to September
Pseudo code available: amp-data-structures.h
Not done: Rebase virtio-msg-amp demo in hvac-demos, moved to September
Meeting July 3
Bill, Manos, Dan, Viresh, Bertrand, Sumit, Arve, Peter Hilber, Arnaud, Lina
FF-A spec under NDA, feedback welcome
When can events be emited (to prevent bus changing while bus is enumerating)
V2 will be released next week
Google wants shared memory to be part of the first
Bertrand will need
Viresh status
Loopback and FFA aligned to spec RFCv2
Reserved memory is the hangup for now
Bertrand why not share page by page?
Viresh: rustmm w/ loopback only does one map at a time
Generic case for upstream even if not optimized
Viresh will take a look
Meeting July 17
Discussed Peter’s email response to spec RFCv2
Meeting July 31
No meeting Aug 14 nor 28
Bill will send cancellations after this meeting. DONE
Next meeting will be Sept 11.
Viresh has published kernel RFC to LKML
Bertrand: error handling between bus and transport
We need to tweak the statement “all error handling is in the bus”.
Manufacturing benign response messages in the bus for each possible failed message tx is a pain.
So don’t do that. Viresh’s interface between transport and bus supports an return code. Use that for failed tx and let the transport handle the lack of response
It is still expected that the bus will tear down that device but don’t manufacture transport messages
What needs to change in the spec? Look for sentence that described manufactiing transport messages in the bus and get rid of it and clarify the situation.
Betrand: Xen FFA status update
He now has a branch with all needed FFA ops (shared memory / direct & indirect messages ) between DOMs
In September will talk about FFA + page grants (similar to current demo)
VM to secure world works through xen for any domain. It is up to the SPMC to decide if it should talk to that VM or not.
Bill has added the loopback demo to hvac-demo
Aligned to Viresh’s kernel RFC
No update to container image yet, will update after adding next demo
Clone the repo above and follow the instructions
Will add qemu-amp-pci demo next
This is Edgar’s work and has virtio-msg-amp on an emulated PCI card in qemu.
Bill still needs to implement the new queue structure for virtio-msg-amp
Will do this via demo4 (demo-dual-linux-amp)
Bill still needs to respond to Peter about spec RFCv2
fix the obvious issues he pointer out
discuss other issues
Anirudh Srinivasan from Tenstorrent
They have PCIe card with accelerator. Has RISC-V cores that can run Linux.
They want to have virtio drivers in kernel on RISC-V that will be served by the host OS. (virtio-blk? virtio-fs? etc)