2021-02-04 Project Stratos Sync Meeting notes

2021-02-04 Project Stratos Sync Meeting notes

Attendees

  • Mike

  • Mathieu

  • Alex

  • Jens

  • Mat (Arm)

  • Mark

  • Pratik (Qualcomm)

  • Peter

  • Arnd

  • Don

  • Jean-Phillip

  • Illias

  • Dan Mila (Windriver)

  • Bill F

  • Catalin (NXP)

  • Bill M

  • Loic (ST)

  • Robin (Arm)

  • Srivatsa (Qualcomm)

  • Arnaund Pouliquen (ST)

  • Souvik (Qualcomm)

  • Azzedine (Qualcomm)

  • Francois 

  • Randy

  • Get a view of the engineering support available to work on Stratos.

  • SOAFEE (if time)

Discussion items

  • Review Action items 

    • Upstreaming attempts stalled at v7, bad API choice for ioctl (too low level), virtio piggy-backs on the kernel RPMB interface

    • Can we find the HW to test/rev the real RPMB interface?

  • @Matt Spencer (Deactivated) / Robin Randhawa : RustVMM  discussion

Discussion Points 

 

  • Rust VMM

    • Aarch64 is now Tier 1 for Rust (1.49.0, as per Dec 2020)

    • Memory safety is the headline feature but:

      • well documented, clear rules - enforced by compiler

      • excellent tooling for deps and distribution

      • rich standard library

      • strong approach to modularity, component re-use

    • Used in production at Google, MS, Intel, Arm

      • Fuchsia device model in Rust

      • Parts of Win10 kernel

    • rust-vmm - not a hypervisor!

      • collection of crates (libs) + hypervisor = build a VMM

      • language agnostic! (although in practice the current ones use Rust all the way through)

      • strong FFI interface (to allow Rust modules to drop into other languages supporting the C FFI)

      • primarily supports KVM (at the moment)

      • CrosVM, Firecracker , Intel Cloud Hypervisor (migration support)

    • rust-vmm project

      • 3 stages of a crate (requirements, implementation, production ready on crates.io)

    • rust-vmm + xen

      • project to replace dom0 tooling with rust components

      • early project

    • rust as bare metal

      • -M profile well supported

      • -A coming along

    • tooling questions

      • just works (a lot comes from LLVM support)

      • rust-analyser - provides LSP and IDE integration

      • what about profiling? cargo-flame?

      • some friction between distro/rust community approach to releases

    • rust/kernel integration

      • is ongoing work to allow kernel to have rust device drivers

        • expected to need some language updates

        • 6 week release cycle clashes with Kernel's approach to tooling

        • probably use rustgcc (not the same as the mainline compiler?)

Action items