...
Excerpt | |||
---|---|---|---|
| name | rust-vmm presentation to Linaro 040221-01.pdfheight | 250
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
...