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?

rust-vmm presentation to Linaro 040221-01.pdf

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

  •