2024-04-03 Rust - Potential Collaboration Areas
Date and Time: Apr 3, 2024 15:00 GMT
Meeting and connection details
Join Zoom Meeting
https://linaro-org.zoom.us/j/99184594168?pwd=eklPZlBmUDB3VEd6VngxOWpMTXdvZz09
Meeting ID: 991 8459 4168
Passcode: 13371337
Find your local number: https://linaro-org.zoom.us/u/acGNPcsIS9
Attendees
Agenda
Meeting overview
Recording: We’ll record the meeting, if you object, please let us now. Link and password will be added to this page (see sections further down).
Goal with today’s meeting: Better understand the gaps in developing for Arm using Rust and whether Linaro, its members and community can and should invest in this.
Linux kernel's use of Rust
The kernel makes use of and depends on unstable features. Do we know what those features are? Can we name something?
Rust for Linux - Miguel Ojeda, will share his view.
The PR for tracking unstable features.
Also, creating connections for certain subsystems like clk, regulator, pinmux, gpio, etc., which are important for supporting System-on-Chip (SoC) devices. This might be more important in the future.
Perhaps that partly would address the ONCD report?
Press Release: Future Software Should Be Memory Safe | ONCD | The White House
Tier support
Tier support is generally pretty good, but it wouldn't hurt to review and also to see whether potential Arm Tier-3 should be moved up to Tier-2. Any direct suggestions on what to propose? The matrices shown here https://rust-lang.github.io/rustup-components-history seems to be helpful, but Tier-3 is mostly lacking information.
https://rust-lang.github.io/rustup-components-history/
Bare-metal drivers and HAL
It's difficult to re-use drivers written for bare-metal systems and adding support for HAL interfaces is going too slow (SoC vendors typically not involved).
Files, presentations and recording
Recording
Notes
In general, please see recording.
We were running out of time to discuss the Tier support and the bare-metal drivers/HAL etc. Will need to follow up.
Summary from Rust-for-Linux / Miguel:
Rust toolchain people need to know about specific compiler flag that we use and need.
There is a bit of a gap of Arm presence when it comes to the toolchain side of Rust.
Rust-for-Linux people, within limits and availability offers support to help Linux kernel maintainer interested in rewriting their subsystems using Rust.
We need justifications and users to be able to justify rewriting some parts.
CI is important for the Rust support, currently there are testing done via TuxSuite (Linaro) and KernelCI.
Chat
Please see recording.