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?
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?)
- is ongoing work to allow kernel to have rust device drivers
Action items