AI Engineer - Learn how to integrate AI into software applications
Coursera Plus Annual Nearly 45% Off
Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn about integrating Rust programming language into QEMU development through this 24-minute conference talk from KVM Forum. Explore the practical strengths and challenges of using Rust in QEMU 9.2.0, which introduced experimental Rust support in December 2024. Discover how memory safety principles apply within QEMU's architecture and understand the limitations when Rust code must interact with existing C APIs that don't utilize the borrow checker. Examine strategies for creating safe abstractions through locks, interior mutability, and API contracts while demystifying the unsafe keyword and its role in enabling safe code practices. Master the technical steps for onboarding devices and subsystems to Rust, including declaring code to Meson, managing external dependencies, generating C bindings with bindgen, and writing safe wrappers in the qemu-api crate library. Understand how Rust's language features like procedural and declarative macros can generate boilerplate code for bridging with QEMU APIs such as qdev. Learn to leverage Rust's static checking capabilities through exhaustive pattern matching, strong typing, dead code lints, state machines, and the builder pattern to ensure invariants hold. Gain insights into potential future developments including QEMU internals beyond device models, async executors, and custom QEMU-specific lints, making this essential viewing for developers interested in contributing to QEMU's Rust integration efforts.
Syllabus
Rust in QEMU: strengths and challenges by Manos Pitsidianakis
Taught by
KVM Forum