2021-09-02 Project Stratos Sync Meeting notes

Participants

  • @Alex Bennée

  • @Peter Griffin

  • @Mathieu Poirier

  • @Akashi Takahiro

  • @Vincent Guittot

  • @Joakim Bech

  • @Jean-Philippe Brucker

  • @Matt Spencer (Deactivated)

  • Srivatsa

  • @Azzedine Touzni

  • Daina

  • @Randy Linnell

Agenda

  • Next cycle plan and roadmap

    • Approaches for hypervisor agnostic backends

      • Userspace with shim binary (original suggestion)

      • Userspace with compile time library

        • any point doing a C one?

        • should Rust be the target? Rust-vmm support for another hypervisor?

      • Userspace with kernel abstraction (ioreq/ioregion/eventfd, Linux only? what about mapping?)

      • Bare metal with compile time library (Rust)

      • proxy device

    • Any other interfaces to do (virtio-video ongoing, gpu/wayland seems complex)?

    • The “Demo”, scope it

Discussion topics

Alex: Done work on the specification, added backend, added thing to the kernel. Know people want to look at Radios etc. But there are other parts of the vision to look at, such as hypervisor agnosticism.

Had a discussion on the mailing list, compile-time libraries with a switch, push abstraction into the kernel.

Proxy device proposal from Akashi-san, deals with the abstraction

Matt- has anyone looked at virtio without a hypervisor, Alex - Windriver use RPC and shared memory space. Matt if I use virtio as a HAL, I may not want to run a Hypervisor. Alex - you won't get isolation. Matt resource-constrained devices want to use it.

Alex if we can get with working across hypervisors then it is easier to move to constrained devices.

Srivatsa - hypervisor agnostic work, is that the plan? Alex that is the purpose of this call, one idea, do a bare metal rust backend, probably Xen. Do this separately to userspace backends. Vincent, SCMI server is used in real cop processor, added vhost user, because we are userspace and the main purpose is to access clock registers it. I also put same server in a Zephyr VM. I have a bridge between guest and VM backend. Just want to prove SCMI backend in VM is working. Plan to have this work regardless to hypervisor. The message is small, Can we use fatvirt queue, we can specify where to put the memory.

Alex bare metal backends are less likely to be high bandwidth. Vincent vhost backends are using the Linux interface. Vincnet writing to virtio MMIO ring.

Srivatsa - and interest from cloud vendors, Alex not so much, interest in RustVMM backends. Alex it would be useful to run RustVMM on Xen.

Srivatsa - any need for more than simple backends, Alex, we could keep doing that, but feel we should look at bigger problems.

Akashi - vhost user lib is created by mmap, this will be passed to the front end. Don't think Zephyr can implement mmap.

Akashi-san

  • ivshared memory from jailhouse, like PCI device, can be used

  • a recent post on Argo in Xen, this is message protocol, don't share memory, hypervisor mediated copy

    • Alex not sure how easy to implement where there is no shared memory, virtio design is based on full mapping

    • Alex Argo may be an alternate transport, similar to fatvirt queue

Mathieu, we should use the rust backend. There are public examples.

 

Action items

@Alex Bennée Cards to generate crates and use them with Xen as it exists
@Mike Holmes talk to FF for AGL : “I will present the AGL demo proposal (and make a demo as it is now working) at AGL Virtualization EG Sept 15th. As announced in past meetings it will be at least:
Booting the same binary image on multiple SystemReady / TrustedSubstrate platforms: RPI4, QEMU, Socionext. I may create a TrustedSubstrate target in AGL for that end.
@Alex Bennée cards to packaging @Peter Griffin demo video

Decisions