From 20a5059a1a71ddb31f975b946d65bd0da4a0f048 Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Tue, 10 Mar 2026 13:48:35 -0700 Subject: [PATCH 1/7] Update the MSRV to 1.85 on all crates. The lifetime change is due to a lint error from clippy that did not find this problem in prior versions. The change itself shouldn't effect code depending on the cortex-m crate. --- .github/workflows/ci.yml | 9 +-------- .github/workflows/clippy.yml | 2 +- .github/workflows/rt-ci.yml | 2 +- cortex-m-rt/CHANGELOG.md | 2 +- cortex-m-rt/Cargo.toml | 2 +- cortex-m-rt/README.md | 2 +- cortex-m-semihosting/CHANGELOG.md | 2 +- cortex-m-semihosting/Cargo.toml | 2 +- cortex-m-semihosting/README.md | 2 +- cortex-m-types/CHANGELOG.md | 1 + cortex-m-types/Cargo.toml | 2 +- cortex-m-types/README.md | 2 +- cortex-m/CHANGELOG.md | 2 +- cortex-m/Cargo.toml | 2 +- cortex-m/README.md | 2 +- cortex-m/src/itm.rs | 2 +- panic-itm/CHANGELOG.md | 1 + panic-itm/Cargo.toml | 1 + panic-itm/README.md | 2 +- panic-semihosting/CHANGELOG.md | 1 + panic-semihosting/Cargo.toml | 2 +- panic-semihosting/README.md | 2 +- testsuite/Cargo.toml | 1 + xtask/Cargo.toml | 1 + 24 files changed, 24 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77bfdb04a..b1530b066 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,13 +17,10 @@ jobs: include: # Test MSRV - - rust: 1.71.0 - # Should be set to true for >= 1.81.0 - test_cortex_m_types: false + - rust: 1.85.0 # Test nightly but don't fail - rust: nightly - test_cortex_m_types: true experimental: true steps: - uses: actions/checkout@v4 @@ -31,8 +28,4 @@ jobs: with: toolchain: ${{ matrix.rust }} - name: Run tests - if: ${{ matrix.test_cortex_m_types }} run: cargo test --all --exclude cortex-m-rt --exclude testsuite --features cortex-m/critical-section-single-core - - name: Run tests for < 1.81.0 (need to exclude cortex-m-types) - if: ${{ matrix.test_cortex_m_types == false }} - run: cargo test --all --exclude cortex-m-rt --exclude testsuite --exclude cortex-m-types --features cortex-m/critical-section-single-core diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml index 6367f7413..d40ee3183 100644 --- a/.github/workflows/clippy.yml +++ b/.github/workflows/clippy.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: components: clippy - run: cargo clippy --all --features cortex-m/critical-section-single-core -- --deny warnings diff --git a/.github/workflows/rt-ci.yml b/.github/workflows/rt-ci.yml index 831dc5301..cd01ffc0a 100644 --- a/.github/workflows/rt-ci.yml +++ b/.github/workflows/rt-ci.yml @@ -11,7 +11,7 @@ jobs: continue-on-error: ${{ matrix.experimental || false }} strategy: matrix: - rust: [nightly, stable, 1.71.0] + rust: [nightly, stable, 1.85.0] include: # Nightly is only for reference and allowed to fail diff --git a/cortex-m-rt/CHANGELOG.md b/cortex-m-rt/CHANGELOG.md index bba99cab5..2679bcf8e 100644 --- a/cortex-m-rt/CHANGELOG.md +++ b/cortex-m-rt/CHANGELOG.md @@ -16,7 +16,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). from an external device. Note that this relies on the bootloader to have already copied `.data` to the VMA before relinquishing control. - Updated references from 'Cortex-M Team' to 'Arm Team' -- Bump MSRV to 1.71 +- Bump MSRV to 1.85 ## [v0.7.5] diff --git a/cortex-m-rt/Cargo.toml b/cortex-m-rt/Cargo.toml index 941c45ba0..608788749 100644 --- a/cortex-m-rt/Cargo.toml +++ b/cortex-m-rt/Cargo.toml @@ -16,7 +16,7 @@ version = "0.7.5" autoexamples = true links = "cortex-m-rt" # Prevent multiple versions of cortex-m-rt being linked edition = "2021" -rust-version = "1.71" +rust-version = "1.85" [dependencies] cortex-m-rt-macros = { path = "macros", version = "=0.7.5" } diff --git a/cortex-m-rt/README.md b/cortex-m-rt/README.md index 3be60989d..fc7ec4cc6 100644 --- a/cortex-m-rt/README.md +++ b/cortex-m-rt/README.md @@ -11,7 +11,7 @@ This project is developed and maintained by the [Embedded Devices Working Group' ## Minimum Supported Rust Version (MSRV) -This crate is guaranteed to compile on stable Rust 1.61.0 and up. It *might* +This crate is guaranteed to compile on stable Rust 1.85 and up. It *might* compile with older versions but that may change in any new patch release. ## License diff --git a/cortex-m-semihosting/CHANGELOG.md b/cortex-m-semihosting/CHANGELOG.md index e1b532cc6..2c2d509be 100644 --- a/cortex-m-semihosting/CHANGELOG.md +++ b/cortex-m-semihosting/CHANGELOG.md @@ -5,7 +5,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] -- MSRV bumped to 1.60 to align with `embedded-hal` version 1. +- MSRV bumped to 1.85 - Updated references from 'Cortex-M Team' to 'Arm Team' ## [v0.5.0] - 2022-03-01 diff --git a/cortex-m-semihosting/Cargo.toml b/cortex-m-semihosting/Cargo.toml index 29875e268..8d87e7305 100644 --- a/cortex-m-semihosting/Cargo.toml +++ b/cortex-m-semihosting/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" repository = "https://github.com/rust-embedded/cortex-m" version = "0.5.0" edition = "2021" -rust-version = "1.71" +rust-version = "1.85" [features] jlink-quirks = [] diff --git a/cortex-m-semihosting/README.md b/cortex-m-semihosting/README.md index ca4559b00..fdaefb259 100644 --- a/cortex-m-semihosting/README.md +++ b/cortex-m-semihosting/README.md @@ -11,7 +11,7 @@ This project is developed and maintained by the [Embedded Devices Working Group' # Minimum Supported Rust Version (MSRV) -This crate is guaranteed to compile on stable Rust 1.61.0 and up. It *might* +This crate is guaranteed to compile on stable Rust 1.85 and up. It *might* compile with older versions but that may change in any new patch release. ## License diff --git a/cortex-m-types/CHANGELOG.md b/cortex-m-types/CHANGELOG.md index 9d73d99cc..1663330b1 100644 --- a/cortex-m-types/CHANGELOG.md +++ b/cortex-m-types/CHANGELOG.md @@ -7,4 +7,5 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +- MSRV bumped to 1.85 - Updated references from 'Cortex-M Team' to 'Arm Team' diff --git a/cortex-m-types/Cargo.toml b/cortex-m-types/Cargo.toml index 0b9027f6b..1245de0b2 100644 --- a/cortex-m-types/Cargo.toml +++ b/cortex-m-types/Cargo.toml @@ -2,7 +2,6 @@ name = "cortex-m-types" version = "0.1.0" edition = "2021" -rust-version = "1.81" repository = "https://github.com/rust-embedded/cortex-m" authors = ["The Embedded Devices Working Group's Arm Team ",] categories = ["embedded", "hardware-support", "no-std"] @@ -11,6 +10,7 @@ documentation = "https://docs.rs/cortex-m-types" keywords = ["arm", "cortex-m", "register", "peripheral"] license = "MIT OR Apache-2.0" readme = "README.md" +rust-version = "1.85" [package.metadata.docs.rs] targets = [ diff --git a/cortex-m-types/README.md b/cortex-m-types/README.md index ba2aa68de..4ff5e664c 100644 --- a/cortex-m-types/README.md +++ b/cortex-m-types/README.md @@ -11,7 +11,7 @@ This project is developed and maintained by the [Arm team][team]. ## Minimum Supported Rust Version (MSRV) -This crate is guaranteed to compile on stable Rust 1.81 and up. It *might* +This crate is guaranteed to compile on stable Rust 1.85 and up. It *might* compile with older versions but that may change in any new patch release. ## License diff --git a/cortex-m/CHANGELOG.md b/cortex-m/CHANGELOG.md index 758ad2f45..d87d00dcb 100644 --- a/cortex-m/CHANGELOG.md +++ b/cortex-m/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] -- MSRV is 1.71 to match cortex-m-rt crate +- MSRV is 1.85 to match cortex-m-rt crate - Add `enter_unprivileged` function to switch to unprivileged mode (on the Process Stack, or `PSP`) - Updated references from 'Cortex-M Team' to 'Arm Team' diff --git a/cortex-m/Cargo.toml b/cortex-m/Cargo.toml index da65e72c7..8bf22ef43 100644 --- a/cortex-m/Cargo.toml +++ b/cortex-m/Cargo.toml @@ -14,7 +14,7 @@ repository = "https://github.com/rust-embedded/cortex-m" edition = "2021" version = "0.7.7" links = "cortex-m" # prevent multiple versions of this crate to be linked together -rust-version = "1.71" +rust-version = "1.85" [dependencies] bare-metal = { version = "0.2.4", features = ["const-fn"] } diff --git a/cortex-m/README.md b/cortex-m/README.md index 44ab13eb8..26a5b93e7 100644 --- a/cortex-m/README.md +++ b/cortex-m/README.md @@ -11,7 +11,7 @@ This project is developed and maintained by the [Embedded Devices Working Group' ## Minimum Supported Rust Version (MSRV) -This crate is guaranteed to compile on stable Rust 1.61 and up. It might compile with older versions but that may change in any new patch release. +This crate is guaranteed to compile on stable Rust 1.85 and up. It might compile with older versions but that may change in any new patch release. ## License diff --git a/cortex-m/src/itm.rs b/cortex-m/src/itm.rs index 72cb0d9a8..905aefb83 100644 --- a/cortex-m/src/itm.rs +++ b/cortex-m/src/itm.rs @@ -57,7 +57,7 @@ unsafe fn write_aligned_impl(port: &mut Stim, buffer: &[u8]) { struct Port<'p>(&'p mut Stim); -impl<'p> fmt::Write for Port<'p> { +impl fmt::Write for Port<'_> { #[inline] fn write_str(&mut self, s: &str) -> fmt::Result { write_all(self.0, s.as_bytes()); diff --git a/panic-itm/CHANGELOG.md b/panic-itm/CHANGELOG.md index c7534cd98..090422211 100644 --- a/panic-itm/CHANGELOG.md +++ b/panic-itm/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Changed +- MSRV bumped to 1.85 - switched from `ITM::ptr()` to `ITM::PTR` as `ptr()` has been deprecated/removed (#385). - Updated references from 'Cortex-M Team' to 'Arm Team' diff --git a/panic-itm/Cargo.toml b/panic-itm/Cargo.toml index 5325243e2..feb6d9afc 100644 --- a/panic-itm/Cargo.toml +++ b/panic-itm/Cargo.toml @@ -12,6 +12,7 @@ name = "panic-itm" repository = "https://github.com/rust-embedded/cortex-m" edition = "2021" version = "0.4.2" +rust-version = "1.85" [dependencies] cortex-m = { path = "../cortex-m", version = ">= 0.5.8, < 0.8" } diff --git a/panic-itm/README.md b/panic-itm/README.md index bff93efc0..1d50b09d4 100644 --- a/panic-itm/README.md +++ b/panic-itm/README.md @@ -8,7 +8,7 @@ This project is developed and maintained by the [Embedded Devices Working Group' ## Minimum Supported Rust Version (MSRV) -This crate is guaranteed to compile on stable Rust 1.31.0 and up. It *might* +This crate is guaranteed to compile on stable Rust 1.85 and up. It *might* compile with older versions but that may change in any new patch release. ## License diff --git a/panic-semihosting/CHANGELOG.md b/panic-semihosting/CHANGELOG.md index b70947f42..5a8a2966c 100644 --- a/panic-semihosting/CHANGELOG.md +++ b/panic-semihosting/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +- MSRV bumped to 1.85 - Updated references from 'Cortex-M Team' to 'Arm Team' ## [v0.6.0] - 2022-03-01 diff --git a/panic-semihosting/Cargo.toml b/panic-semihosting/Cargo.toml index 2d5b683be..a292c466f 100644 --- a/panic-semihosting/Cargo.toml +++ b/panic-semihosting/Cargo.toml @@ -11,8 +11,8 @@ license = "MIT OR Apache-2.0" name = "panic-semihosting" repository = "https://github.com/rust-embedded/cortex-m" version = "0.6.0" -rust-version = "1.71" edition = "2021" +rust-version = "1.85" [dependencies] cortex-m = { path = "../cortex-m", version = ">= 0.5.6, < 0.8" } diff --git a/panic-semihosting/README.md b/panic-semihosting/README.md index f22632437..1a97bb5cb 100644 --- a/panic-semihosting/README.md +++ b/panic-semihosting/README.md @@ -8,7 +8,7 @@ This project is developed and maintained by the [Embedded Devices Working Group' ## Minimum Supported Rust Version (MSRV) -This crate is guaranteed to compile on stable Rust 1.61.0 and up. It *might* +This crate is guaranteed to compile on stable Rust 1.85 and up. It *might* compile with older versions but that may change in any new patch release. ## License diff --git a/testsuite/Cargo.toml b/testsuite/Cargo.toml index 75fb05df8..185ea2d56 100644 --- a/testsuite/Cargo.toml +++ b/testsuite/Cargo.toml @@ -4,6 +4,7 @@ name = "testsuite" publish = false edition = "2021" version = "0.1.0" +rust-version = "1.85" [features] rtt = ["rtt-target", "minitest/rtt"] diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml index 1f48803f5..f2da7fb18 100644 --- a/xtask/Cargo.toml +++ b/xtask/Cargo.toml @@ -4,6 +4,7 @@ version = "0.0.0" authors = ["The Embedded Devices Working Group's Arm Team"] edition = "2021" publish = false +rust-version = "1.85" [[test]] name = "ci" From 51620b3fd48d24b0db1849d742e6789673a5b1a6 Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Tue, 10 Mar 2026 13:53:33 -0700 Subject: [PATCH 2/7] Remove deprecated authors in Cargo.tomls. --- cortex-m-rt/Cargo.toml | 5 ----- cortex-m-semihosting/Cargo.toml | 4 ---- cortex-m-types/Cargo.toml | 1 - cortex-m/Cargo.toml | 4 ---- panic-itm/Cargo.toml | 4 ---- panic-semihosting/Cargo.toml | 4 ---- testsuite/Cargo.toml | 1 - xtask/Cargo.toml | 1 - 8 files changed, 24 deletions(-) diff --git a/cortex-m-rt/Cargo.toml b/cortex-m-rt/Cargo.toml index 608788749..fb16592d9 100644 --- a/cortex-m-rt/Cargo.toml +++ b/cortex-m-rt/Cargo.toml @@ -1,9 +1,4 @@ [package] -authors = [ - "The Embedded Devices Working Group's Arm Team ", - "Jorge Aparicio ", - "Hideki Sekine ", -] categories = ["embedded", "no-std"] description = "Minimal runtime / startup for Cortex-M microcontrollers" documentation = "https://docs.rs/cortex-m-rt/" diff --git a/cortex-m-semihosting/Cargo.toml b/cortex-m-semihosting/Cargo.toml index 8d87e7305..dc35d716d 100644 --- a/cortex-m-semihosting/Cargo.toml +++ b/cortex-m-semihosting/Cargo.toml @@ -1,8 +1,4 @@ [package] -authors = [ - "The Embedded Devices Working Group's Arm Team ", - "Jorge Aparicio ", -] description = "Semihosting for ARM Cortex-M processors" documentation = "https://docs.rs/cortex-m-semihosting" keywords = ["semihosting", "arm", "cortex-m"] diff --git a/cortex-m-types/Cargo.toml b/cortex-m-types/Cargo.toml index 1245de0b2..e40f47899 100644 --- a/cortex-m-types/Cargo.toml +++ b/cortex-m-types/Cargo.toml @@ -3,7 +3,6 @@ name = "cortex-m-types" version = "0.1.0" edition = "2021" repository = "https://github.com/rust-embedded/cortex-m" -authors = ["The Embedded Devices Working Group's Arm Team ",] categories = ["embedded", "hardware-support", "no-std"] description = "Low level access to Cortex-M processors" documentation = "https://docs.rs/cortex-m-types" diff --git a/cortex-m/Cargo.toml b/cortex-m/Cargo.toml index 8bf22ef43..c449ac59c 100644 --- a/cortex-m/Cargo.toml +++ b/cortex-m/Cargo.toml @@ -1,8 +1,4 @@ [package] -authors = [ - "The Embedded Devices Working Group's Arm Team ", - "Jorge Aparicio ", -] categories = ["embedded", "hardware-support", "no-std"] description = "Low level access to Cortex-M processors" documentation = "https://docs.rs/cortex-m" diff --git a/panic-itm/Cargo.toml b/panic-itm/Cargo.toml index feb6d9afc..b1a11647d 100644 --- a/panic-itm/Cargo.toml +++ b/panic-itm/Cargo.toml @@ -1,8 +1,4 @@ [package] -authors = [ - "The Embedded Devices Working Group's Arm Team ", - "Jorge Aparicio ", -] categories = ["no-std", "embedded"] description = "Log panic messages using the ITM (Instrumentation Trace Macrocell)" documentation = "https://docs.rs/panic-itm" diff --git a/panic-semihosting/Cargo.toml b/panic-semihosting/Cargo.toml index a292c466f..6b8a32cc4 100644 --- a/panic-semihosting/Cargo.toml +++ b/panic-semihosting/Cargo.toml @@ -1,8 +1,4 @@ [package] -authors = [ - "The Embedded Devices Working Group's Arm Team", - "Jorge Aparicio ", -] categories = ["no-std", "embedded"] description = "Report panic messages to the host stderr using semihosting" documentation = "https://docs.rs/panic-semihosting" diff --git a/testsuite/Cargo.toml b/testsuite/Cargo.toml index 185ea2d56..cb619649e 100644 --- a/testsuite/Cargo.toml +++ b/testsuite/Cargo.toml @@ -1,5 +1,4 @@ [package] -authors = ["The Embedded Devices Working Group's Arm Team"] name = "testsuite" publish = false edition = "2021" diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml index f2da7fb18..88f58a410 100644 --- a/xtask/Cargo.toml +++ b/xtask/Cargo.toml @@ -1,7 +1,6 @@ [package] name = "xtask" version = "0.0.0" -authors = ["The Embedded Devices Working Group's Arm Team"] edition = "2021" publish = false rust-version = "1.85" From 10b8831655e14461a100cf6d8cf8d297ad198182 Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Tue, 10 Mar 2026 15:05:30 -0700 Subject: [PATCH 3/7] Update all code to be edition 2024 compatible. --- cortex-m-rt/examples/device.rs | 7 +- cortex-m-rt/examples/main.rs | 2 +- cortex-m-rt/examples/unsafety.rs | 8 +- cortex-m-rt/src/lib.rs | 54 ++++++------- cortex-m-semihosting/src/lib.rs | 6 +- cortex-m/src/asm.rs | 8 +- cortex-m/src/call_asm.rs | 2 +- cortex-m/src/critical_section.rs | 2 +- cortex-m/src/interrupt.rs | 2 +- cortex-m/src/itm.rs | 64 ++++++++------- cortex-m/src/macros.rs | 4 +- cortex-m/src/peripheral/cbp.rs | 32 ++++---- cortex-m/src/peripheral/mod.rs | 102 ++++++++++++------------ cortex-m/src/peripheral/nvic.rs | 38 +++++---- cortex-m/src/peripheral/scb.rs | 131 +++++++++++++++++-------------- 15 files changed, 246 insertions(+), 216 deletions(-) diff --git a/cortex-m-rt/examples/device.rs b/cortex-m-rt/examples/device.rs index 02a60c8a8..364bd0a21 100644 --- a/cortex-m-rt/examples/device.rs +++ b/cortex-m-rt/examples/device.rs @@ -1,6 +1,5 @@ //! Manually create the interrupts portion of the vector table -#![deny(unsafe_code)] #![deny(warnings)] #![no_main] #![no_std] @@ -22,14 +21,14 @@ pub union Vector { reserved: usize, } -extern "C" { +unsafe extern "C" { fn WWDG(); fn PVD(); } #[allow(unsafe_code)] -#[link_section = ".vector_table.interrupts"] -#[no_mangle] +#[unsafe(link_section = ".vector_table.interrupts")] +#[unsafe(no_mangle)] pub static __INTERRUPTS: [Vector; 3] = [ Vector { handler: WWDG }, Vector { reserved: 0 }, diff --git a/cortex-m-rt/examples/main.rs b/cortex-m-rt/examples/main.rs index 58e3cb485..321ac79ea 100644 --- a/cortex-m-rt/examples/main.rs +++ b/cortex-m-rt/examples/main.rs @@ -7,7 +7,7 @@ extern crate cortex_m_rt as rt; extern crate panic_halt; -#[no_mangle] +#[unsafe(no_mangle)] pub unsafe extern "C" fn main() -> ! { loop {} } diff --git a/cortex-m-rt/examples/unsafety.rs b/cortex-m-rt/examples/unsafety.rs index cdb5acaf9..444de6c96 100644 --- a/cortex-m-rt/examples/unsafety.rs +++ b/cortex-m-rt/examples/unsafety.rs @@ -11,26 +11,26 @@ use cortex_m_rt::{entry, exception, ExceptionFrame}; #[entry] unsafe fn main() -> ! { - foo(); + unsafe { foo() }; loop {} } #[exception] unsafe fn DefaultHandler(_irqn: i16) { - foo(); + unsafe { foo() }; } #[exception] unsafe fn HardFault(_ef: &ExceptionFrame) -> ! { - foo(); + unsafe { foo() }; loop {} } #[exception] unsafe fn SysTick() { - foo(); + unsafe { foo() }; } unsafe fn foo() {} diff --git a/cortex-m-rt/src/lib.rs b/cortex-m-rt/src/lib.rs index cb90b43c2..b04fd57e1 100644 --- a/cortex-m-rt/src/lib.rs +++ b/cortex-m-rt/src/lib.rs @@ -361,13 +361,13 @@ //! reserved: usize, //! } //! -//! extern "C" { +//! unsafe extern "C" { //! fn Foo(); //! fn Bar(); //! } //! -//! #[link_section = ".vector_table.interrupts"] -//! #[no_mangle] +//! #[unsafe(link_section = ".vector_table.interrupts")] +//! #[unsafe(no_mangle)] //! pub static __INTERRUPTS: [Vector; 5] = [ //! // 0-1: Reserved //! Vector { reserved: 0 }, @@ -440,14 +440,14 @@ //! //! [`MaybeUninit`]: https://doc.rust-lang.org/core/mem/union.MaybeUninit.html //! -//! ```no_run,edition2018 +//! ```no_run //! # extern crate core; //! use core::mem::MaybeUninit; //! //! const STACK_SIZE: usize = 8 * 1024; //! const NTHREADS: usize = 4; //! -//! #[link_section = ".uninit.STACKS"] +//! #[unsafe(link_section = ".uninit.STACKS")] //! static mut STACKS: MaybeUninit<[[u8; STACK_SIZE]; NTHREADS]> = MaybeUninit::uninit(); //! ``` //! @@ -483,10 +483,10 @@ //! //! You can then use something like this to place a variable into this specific section of memory: //! -//! ```no_run,edition2018 +//! ```no_run //! # extern crate core; //! # use core::mem::MaybeUninit; -//! #[link_section=".ccmram.BUFFERS"] +//! #[unsafe(link_section=".ccmram.BUFFERS")] //! static mut BUF: MaybeUninit<[u8; 1024]> = MaybeUninit::uninit(); //! ``` //! @@ -937,7 +937,7 @@ pub use macros::pre_init; // two copies of cortex-m-rt together, linking will fail. We also declare a links key in // Cargo.toml which is the more modern way to solve the same problem, but we have to keep // __ONCE__ around to prevent linking with versions before the links key was added. -#[export_name = "error: cortex-m-rt appears more than once in the dependency graph"] +#[unsafe(export_name = "error: cortex-m-rt appears more than once in the dependency graph")] #[doc(hidden)] pub static __ONCE__: () = (); @@ -1120,7 +1120,7 @@ impl fmt::Debug for ExceptionFrame { /// The returned pointer is guaranteed to be 4-byte aligned. #[inline] pub fn heap_start() -> *mut u32 { - extern "C" { + unsafe extern "C" { static mut __sheap: u32; } @@ -1132,27 +1132,27 @@ pub fn heap_start() -> *mut u32 { // Entry point is Reset. #[doc(hidden)] -#[cfg_attr(cortex_m, link_section = ".vector_table.reset_vector")] -#[no_mangle] +#[cfg_attr(cortex_m, unsafe(link_section = ".vector_table.reset_vector"))] +#[unsafe(no_mangle)] pub static __RESET_VECTOR: unsafe extern "C" fn() -> ! = Reset; #[doc(hidden)] -#[cfg_attr(cortex_m, link_section = ".HardFault.default")] -#[no_mangle] +#[cfg_attr(cortex_m, unsafe(link_section = ".HardFault.default"))] +#[unsafe(no_mangle)] pub unsafe extern "C" fn HardFault_() -> ! { #[allow(clippy::empty_loop)] loop {} } #[doc(hidden)] -#[no_mangle] +#[unsafe(no_mangle)] pub unsafe extern "C" fn DefaultHandler_() -> ! { #[allow(clippy::empty_loop)] loop {} } #[doc(hidden)] -#[no_mangle] +#[unsafe(no_mangle)] pub unsafe extern "C" fn DefaultPreInit() {} /* Exceptions */ @@ -1187,7 +1187,7 @@ pub enum Exception { #[doc(hidden)] pub use self::Exception as exception; -extern "C" { +unsafe extern "C" { fn Reset() -> !; fn NonMaskableInt(); @@ -1224,8 +1224,8 @@ pub union Vector { } #[doc(hidden)] -#[cfg_attr(cortex_m, link_section = ".vector_table.exceptions")] -#[no_mangle] +#[cfg_attr(cortex_m, unsafe(link_section = ".vector_table.exceptions"))] +#[unsafe(no_mangle)] pub static __EXCEPTIONS: [Vector; 14] = [ // Exception 2: Non Maskable Interrupt. Vector { @@ -1284,10 +1284,10 @@ pub static __EXCEPTIONS: [Vector; 14] = [ // to the default handler #[cfg(all(any(not(feature = "device"), test), not(armv6m), not(armv8m_main)))] #[doc(hidden)] -#[cfg_attr(cortex_m, link_section = ".vector_table.interrupts")] -#[no_mangle] +#[cfg_attr(cortex_m, unsafe(link_section = ".vector_table.interrupts"))] +#[unsafe(no_mangle)] pub static __INTERRUPTS: [unsafe extern "C" fn(); 240] = [{ - extern "C" { + unsafe extern "C" { fn DefaultHandler(); } @@ -1297,10 +1297,10 @@ pub static __INTERRUPTS: [unsafe extern "C" fn(); 240] = [{ // ARMv8-M Mainline can have up to 480 device specific interrupts #[cfg(all(not(feature = "device"), armv8m_main))] #[doc(hidden)] -#[cfg_attr(cortex_m, link_section = ".vector_table.interrupts")] -#[no_mangle] +#[cfg_attr(cortex_m, unsafe(link_section = ".vector_table.interrupts"))] +#[unsafe(no_mangle)] pub static __INTERRUPTS: [unsafe extern "C" fn(); 480] = [{ - extern "C" { + unsafe extern "C" { fn DefaultHandler(); } @@ -1310,10 +1310,10 @@ pub static __INTERRUPTS: [unsafe extern "C" fn(); 480] = [{ // ARMv6-M can only have a maximum of 32 device specific interrupts #[cfg(all(not(feature = "device"), armv6m))] #[doc(hidden)] -#[link_section = ".vector_table.interrupts"] -#[no_mangle] +#[unsafe(link_section = ".vector_table.interrupts")] +#[unsafe(no_mangle)] pub static __INTERRUPTS: [unsafe extern "C" fn(); 32] = [{ - extern "C" { + unsafe extern "C" { fn DefaultHandler(); } diff --git a/cortex-m-semihosting/src/lib.rs b/cortex-m-semihosting/src/lib.rs index 6a6e9da50..b3be6abaa 100644 --- a/cortex-m-semihosting/src/lib.rs +++ b/cortex-m-semihosting/src/lib.rs @@ -193,7 +193,7 @@ pub mod nr; /// [semihosting operation]: https://developer.arm.com/documentation/dui0471/i/semihosting/semihosting-operations?lang=en #[inline(always)] pub unsafe fn syscall(nr: usize, arg: &T) -> usize { - syscall1(nr, arg as *const T as usize) + unsafe { syscall1(nr, arg as *const T as usize) } } /// Performs a semihosting operation, takes one integer as an argument @@ -209,7 +209,9 @@ pub unsafe fn syscall1(_nr: usize, _arg: usize) -> usize { use core::arch::asm; let mut nr = _nr as u32; let arg = _arg as u32; - asm!("bkpt #0xab", inout("r0") nr, in("r1") arg, options(nostack, preserves_flags)); + unsafe { + asm!("bkpt #0xab", inout("r0") nr, in("r1") arg, options(nostack, preserves_flags)); + } nr as usize } #[cfg(all(thumb, feature = "no-semihosting"))] diff --git a/cortex-m/src/asm.rs b/cortex-m/src/asm.rs index 3a5695b06..3f8fd0e84 100644 --- a/cortex-m/src/asm.rs +++ b/cortex-m/src/asm.rs @@ -293,7 +293,9 @@ pub unsafe fn bootstrap(msp: *const u32, rv: *const u32) -> ! { /// a valid reset vector as the second word. #[inline] pub unsafe fn bootload(vector_table: *const u32) -> ! { - let msp = core::ptr::read_volatile(vector_table); - let rv = core::ptr::read_volatile(vector_table.offset(1)); - bootstrap(msp as *const u32, rv as *const u32); + unsafe { + let msp = core::ptr::read_volatile(vector_table); + let rv = core::ptr::read_volatile(vector_table.offset(1)); + bootstrap(msp as *const u32, rv as *const u32); + } } diff --git a/cortex-m/src/call_asm.rs b/cortex-m/src/call_asm.rs index 295277f38..be5699945 100644 --- a/cortex-m/src/call_asm.rs +++ b/cortex-m/src/call_asm.rs @@ -12,7 +12,7 @@ macro_rules! call_asm { #[cfg(not(feature = "inline-asm"))] () => { - extern "C" { + unsafe extern "C" { fn $func($($args: $tys),*) $(-> $ret)?; } diff --git a/cortex-m/src/critical_section.rs b/cortex-m/src/critical_section.rs index 6bedfffaa..c4fcf147d 100644 --- a/cortex-m/src/critical_section.rs +++ b/cortex-m/src/critical_section.rs @@ -19,6 +19,6 @@ unsafe impl Impl for SingleCoreCriticalSection { unsafe fn release(restore_state: RawRestoreState) { // NOTE: Fence guarantees are provided by primask::write_raw(), which performs a `compiler_fence(SeqCst)`. - primask::write_raw(restore_state); + unsafe { primask::write_raw(restore_state) }; } } diff --git a/cortex-m/src/interrupt.rs b/cortex-m/src/interrupt.rs index 48efd3659..a5c4b414c 100644 --- a/cortex-m/src/interrupt.rs +++ b/cortex-m/src/interrupt.rs @@ -65,7 +65,7 @@ where // disable interrupts disable(); - let r = f(unsafe { &CriticalSection::new() }); + let r = f(&unsafe { CriticalSection::new() }); unsafe { crate::register::primask::write_raw(primask); diff --git a/cortex-m/src/itm.rs b/cortex-m/src/itm.rs index 905aefb83..77bdc8ae1 100644 --- a/cortex-m/src/itm.rs +++ b/cortex-m/src/itm.rs @@ -8,11 +8,13 @@ use crate::peripheral::itm::Stim; // NOTE assumes that `bytes` is 32-bit aligned unsafe fn write_words(stim: &mut Stim, bytes: &[u32]) { - let mut p = bytes.as_ptr(); - for _ in 0..bytes.len() { - while !stim.is_fifo_ready() {} - stim.write_u32(ptr::read(p)); - p = p.offset(1); + unsafe { + let mut p = bytes.as_ptr(); + for _ in 0..bytes.len() { + while !stim.is_fifo_ready() {} + stim.write_u32(ptr::read(p)); + p = p.offset(1); + } } } @@ -20,38 +22,40 @@ unsafe fn write_words(stim: &mut Stim, bytes: &[u32]) { /// /// `buffer` must be 4-byte aligned. unsafe fn write_aligned_impl(port: &mut Stim, buffer: &[u8]) { - let len = buffer.len(); + unsafe { + let len = buffer.len(); - if len == 0 { - return; - } + if len == 0 { + return; + } - let split = len & !0b11; - #[allow(clippy::cast_ptr_alignment)] - write_words( - port, - slice::from_raw_parts(buffer.as_ptr() as *const u32, split >> 2), - ); + let split = len & !0b11; + #[allow(clippy::cast_ptr_alignment)] + write_words( + port, + slice::from_raw_parts(buffer.as_ptr() as *const u32, split >> 2), + ); - // 3 bytes or less left - let mut left = len & 0b11; - let mut ptr = buffer.as_ptr().add(split); + // 3 bytes or less left + let mut left = len & 0b11; + let mut ptr = buffer.as_ptr().add(split); - // at least 2 bytes left - if left > 1 { - while !port.is_fifo_ready() {} + // at least 2 bytes left + if left > 1 { + while !port.is_fifo_ready() {} - #[allow(clippy::cast_ptr_alignment)] - port.write_u16(ptr::read(ptr as *const u16)); + #[allow(clippy::cast_ptr_alignment)] + port.write_u16(ptr::read(ptr as *const u16)); - ptr = ptr.offset(2); - left -= 2; - } + ptr = ptr.offset(2); + left -= 2; + } - // final byte - if left == 1 { - while !port.is_fifo_ready() {} - port.write_u8(*ptr); + // final byte + if left == 1 { + while !port.is_fifo_ready() {} + port.write_u8(*ptr); + } } } diff --git a/cortex-m/src/macros.rs b/cortex-m/src/macros.rs index c4483b872..f89b339cd 100644 --- a/cortex-m/src/macros.rs +++ b/cortex-m/src/macros.rs @@ -121,8 +121,8 @@ const CPASS: () = (); /// /// fn foo() { /// // check that attributes are forwarded -/// singleton!(#[link_section = ".bss"] FOO: u8 = 0); -/// singleton!(#[link_section = ".bss"]: u8 = 1); +/// singleton!(#[unsafe(link_section = ".bss")] FOO: u8 = 0); +/// singleton!(#[unsafe(link_section = ".bss")]: u8 = 1); /// } /// ``` #[allow(dead_code)] diff --git a/cortex-m/src/peripheral/cbp.rs b/cortex-m/src/peripheral/cbp.rs index 5aee5444b..9121412aa 100644 --- a/cortex-m/src/peripheral/cbp.rs +++ b/cortex-m/src/peripheral/cbp.rs @@ -53,7 +53,9 @@ impl CBP { /// D-cache invalidate by MVA to PoC #[inline(always)] pub unsafe fn dcimvac(&mut self, mva: u32) { - self.dcimvac.write(mva); + unsafe { + self.dcimvac.write(mva); + } } /// D-cache invalidate by set-way @@ -61,19 +63,21 @@ impl CBP { /// `set` is masked to be between 0 and 3, and `way` between 0 and 511. #[inline(always)] pub unsafe fn dcisw(&mut self, set: u16, way: u16) { - // The ARMv7-M Architecture Reference Manual, as of Revision E.b, says these set/way - // operations have a register data format which depends on the implementation's - // associativity and number of sets. Specifically the 'way' and 'set' fields have - // offsets 32-log2(ASSOCIATIVITY) and log2(LINELEN) respectively. - // - // However, in Cortex-M7 devices, these offsets are fixed at 30 and 5, as per the Cortex-M7 - // Generic User Guide section 4.8.3. Since no other ARMv7-M implementations except the - // Cortex-M7 have a DCACHE or ICACHE at all, it seems safe to do the same thing as the - // CMSIS-Core implementation and use fixed values. - self.dcisw.write( - ((u32::from(way) & (CBP_SW_WAY_MASK >> CBP_SW_WAY_POS)) << CBP_SW_WAY_POS) - | ((u32::from(set) & (CBP_SW_SET_MASK >> CBP_SW_SET_POS)) << CBP_SW_SET_POS), - ); + unsafe { + // The ARMv7-M Architecture Reference Manual, as of Revision E.b, says these set/way + // operations have a register data format which depends on the implementation's + // associativity and number of sets. Specifically the 'way' and 'set' fields have + // offsets 32-log2(ASSOCIATIVITY) and log2(LINELEN) respectively. + // + // However, in Cortex-M7 devices, these offsets are fixed at 30 and 5, as per the Cortex-M7 + // Generic User Guide section 4.8.3. Since no other ARMv7-M implementations except the + // Cortex-M7 have a DCACHE or ICACHE at all, it seems safe to do the same thing as the + // CMSIS-Core implementation and use fixed values. + self.dcisw.write( + ((u32::from(way) & (CBP_SW_WAY_MASK >> CBP_SW_WAY_POS)) << CBP_SW_WAY_POS) + | ((u32::from(set) & (CBP_SW_SET_MASK >> CBP_SW_SET_POS)) << CBP_SW_SET_POS), + ); + } } /// D-cache clean by MVA to PoU diff --git a/cortex-m/src/peripheral/mod.rs b/cortex-m/src/peripheral/mod.rs index 93e8dc879..d65707c14 100644 --- a/cortex-m/src/peripheral/mod.rs +++ b/cortex-m/src/peripheral/mod.rs @@ -149,7 +149,7 @@ pub struct Peripherals { // NOTE `no_mangle` is used here to prevent linking different minor versions of this crate as that // would let you `take` the core peripherals more than once (one per minor version) -#[no_mangle] +#[unsafe(no_mangle)] static CORE_PERIPHERALS: () = (); /// Set to `true` when `take` or `steal` was called to make `Peripherals` a singleton. @@ -171,55 +171,57 @@ impl Peripherals { /// Unchecked version of `Peripherals::take` #[inline] pub unsafe fn steal() -> Self { - TAKEN = true; - - Peripherals { - #[cfg(feature = "cm7")] - AC: AC { - _marker: PhantomData, - }, - CBP: CBP { - _marker: PhantomData, - }, - CPUID: CPUID { - _marker: PhantomData, - }, - DCB: DCB { - _marker: PhantomData, - }, - DWT: DWT { - _marker: PhantomData, - }, - FPB: FPB { - _marker: PhantomData, - }, - FPU: FPU { - _marker: PhantomData, - }, - ICB: ICB { - _marker: PhantomData, - }, - ITM: ITM { - _marker: PhantomData, - }, - MPU: MPU { - _marker: PhantomData, - }, - NVIC: NVIC { - _marker: PhantomData, - }, - SAU: SAU { - _marker: PhantomData, - }, - SCB: SCB { - _marker: PhantomData, - }, - SYST: SYST { - _marker: PhantomData, - }, - TPIU: TPIU { - _marker: PhantomData, - }, + unsafe { + TAKEN = true; + + Peripherals { + #[cfg(feature = "cm7")] + AC: AC { + _marker: PhantomData, + }, + CBP: CBP { + _marker: PhantomData, + }, + CPUID: CPUID { + _marker: PhantomData, + }, + DCB: DCB { + _marker: PhantomData, + }, + DWT: DWT { + _marker: PhantomData, + }, + FPB: FPB { + _marker: PhantomData, + }, + FPU: FPU { + _marker: PhantomData, + }, + ICB: ICB { + _marker: PhantomData, + }, + ITM: ITM { + _marker: PhantomData, + }, + MPU: MPU { + _marker: PhantomData, + }, + NVIC: NVIC { + _marker: PhantomData, + }, + SAU: SAU { + _marker: PhantomData, + }, + SCB: SCB { + _marker: PhantomData, + }, + SYST: SYST { + _marker: PhantomData, + }, + TPIU: TPIU { + _marker: PhantomData, + }, + } } } } diff --git a/cortex-m/src/peripheral/nvic.rs b/cortex-m/src/peripheral/nvic.rs index 067c1d951..60411f0e7 100644 --- a/cortex-m/src/peripheral/nvic.rs +++ b/cortex-m/src/peripheral/nvic.rs @@ -124,9 +124,11 @@ impl NVIC { where I: InterruptNumber, { - let nr = interrupt.number(); - // NOTE(ptr) this is a write to a stateless register - (*Self::PTR).iser[usize::from(nr / 32)].write(1 << (nr % 32)) + unsafe { + let nr = interrupt.number(); + // NOTE(ptr) this is a write to a stateless register + (*Self::PTR).iser[usize::from(nr / 32)].write(1 << (nr % 32)) + } } /// Returns the NVIC priority of `interrupt` @@ -224,20 +226,22 @@ impl NVIC { where I: InterruptNumber, { - #[cfg(not(armv6m))] - { - let nr = interrupt.number(); - self.ipr[usize::from(nr)].write(prio) - } - - #[cfg(armv6m)] - { - self.ipr[Self::ipr_index(interrupt)].modify(|value| { - let mask = 0x0000_00ff << Self::ipr_shift(interrupt); - let prio = u32::from(prio) << Self::ipr_shift(interrupt); - - (value & !mask) | prio - }) + unsafe { + #[cfg(not(armv6m))] + { + let nr = interrupt.number(); + self.ipr[usize::from(nr)].write(prio) + } + + #[cfg(armv6m)] + { + self.ipr[Self::ipr_index(interrupt)].modify(|value| { + let mask = 0x0000_00ff << Self::ipr_shift(interrupt); + let prio = u32::from(prio) << Self::ipr_shift(interrupt); + + (value & !mask) | prio + }) + } } } diff --git a/cortex-m/src/peripheral/scb.rs b/cortex-m/src/peripheral/scb.rs index 4cd4742cb..30b9e7402 100644 --- a/cortex-m/src/peripheral/scb.rs +++ b/cortex-m/src/peripheral/scb.rs @@ -317,7 +317,7 @@ impl SCB { cbp.iciallu(); // Enable I-cache - extern "C" { + unsafe extern "C" { // see asm-v7m.s fn __enable_icache(); } @@ -392,7 +392,7 @@ impl SCB { unsafe { self.invalidate_dcache(cpuid) }; // Now turn on the D-cache - extern "C" { + unsafe extern "C" { // see asm-v7m.s fn __enable_dcache(); } @@ -442,21 +442,23 @@ impl SCB { /// It's used immediately before enabling the dcache, but not exported publicly. #[inline] unsafe fn invalidate_dcache(&mut self, cpuid: &mut CPUID) { - // NOTE(unsafe): No races as all CBP registers are write-only and stateless - let mut cbp = CBP::new(); + unsafe { + // NOTE(unsafe): No races as all CBP registers are write-only and stateless + let mut cbp = CBP::new(); - // Read number of sets and ways - let (sets, ways) = cpuid.cache_num_sets_ways(0, CsselrCacheType::DataOrUnified); + // Read number of sets and ways + let (sets, ways) = cpuid.cache_num_sets_ways(0, CsselrCacheType::DataOrUnified); - // Invalidate entire D-cache - for set in 0..sets { - for way in 0..ways { - cbp.dcisw(set, way); + // Invalidate entire D-cache + for set in 0..sets { + for way in 0..ways { + cbp.dcisw(set, way); + } } - } - crate::asm::dsb(); - crate::asm::isb(); + crate::asm::dsb(); + crate::asm::isb(); + } } /// Cleans the entire D-cache. @@ -540,37 +542,39 @@ impl SCB { /// a runtime-dependent `panic!()` call. #[inline] pub unsafe fn invalidate_dcache_by_address(&mut self, addr: usize, size: usize) { - // No-op zero sized operations - if size == 0 { - return; - } + unsafe { + // No-op zero sized operations + if size == 0 { + return; + } - // NOTE(unsafe): No races as all CBP registers are write-only and stateless - let mut cbp = CBP::new(); + // NOTE(unsafe): No races as all CBP registers are write-only and stateless + let mut cbp = CBP::new(); - // dminline is log2(num words), so 2**dminline * 4 gives size in bytes - let dminline = CPUID::cache_dminline(); - let line_size = (1 << dminline) * 4; + // dminline is log2(num words), so 2**dminline * 4 gives size in bytes + let dminline = CPUID::cache_dminline(); + let line_size = (1 << dminline) * 4; - debug_assert!((addr & (line_size - 1)) == 0); - debug_assert!((size & (line_size - 1)) == 0); + debug_assert!((addr & (line_size - 1)) == 0); + debug_assert!((size & (line_size - 1)) == 0); - crate::asm::dsb(); + crate::asm::dsb(); - // Find number of cache lines to invalidate - let num_lines = ((size - 1) / line_size) + 1; + // Find number of cache lines to invalidate + let num_lines = ((size - 1) / line_size) + 1; - // Compute address of first cache line - let mask = 0xFFFF_FFFF - (line_size - 1); - let mut addr = addr & mask; + // Compute address of first cache line + let mask = 0xFFFF_FFFF - (line_size - 1); + let mut addr = addr & mask; - for _ in 0..num_lines { - cbp.dcimvac(addr as u32); - addr += line_size; - } + for _ in 0..num_lines { + cbp.dcimvac(addr as u32); + addr += line_size; + } - crate::asm::dsb(); - crate::asm::isb(); + crate::asm::dsb(); + crate::asm::isb(); + } } /// Invalidates an object from the D-cache. @@ -608,7 +612,9 @@ impl SCB { /// a runtime-dependent `panic!()` call. #[inline] pub unsafe fn invalidate_dcache_by_ref(&mut self, obj: &mut T) { - self.invalidate_dcache_by_address(obj as *const T as usize, core::mem::size_of::()); + unsafe { + self.invalidate_dcache_by_address(obj as *const T as usize, core::mem::size_of::()); + } } /// Invalidates a slice from the D-cache. @@ -646,7 +652,12 @@ impl SCB { /// a runtime-dependent `panic!()` call. #[inline] pub unsafe fn invalidate_dcache_by_slice(&mut self, slice: &mut [T]) { - self.invalidate_dcache_by_address(slice.as_ptr() as usize, core::mem::size_of_val(slice)); + unsafe { + self.invalidate_dcache_by_address( + slice.as_ptr() as usize, + core::mem::size_of_val(slice), + ); + } } /// Cleans D-cache by address. @@ -1000,32 +1011,34 @@ impl SCB { /// [`register::basepri`](crate::register::basepri)) and compromise memory safety. #[inline] pub unsafe fn set_priority(&mut self, system_handler: SystemHandler, prio: u8) { - let index = system_handler as u8; + unsafe { + let index = system_handler as u8; - #[cfg(not(armv6m))] - { - // NOTE(unsafe): Index is bounded to [4,15] by SystemHandler design. - // TODO: Review it after rust-lang/rust/issues/13926 will be fixed. - let priority_ref = (*Self::PTR).shpr.get_unchecked(usize::from(index - 4)); + #[cfg(not(armv6m))] + { + // NOTE(unsafe): Index is bounded to [4,15] by SystemHandler design. + // TODO: Review it after rust-lang/rust/issues/13926 will be fixed. + let priority_ref = (*Self::PTR).shpr.get_unchecked(usize::from(index - 4)); - priority_ref.write(prio) - } + priority_ref.write(prio) + } - #[cfg(armv6m)] - { - // NOTE(unsafe): Index is bounded to [11,15] by SystemHandler design. - // TODO: Review it after rust-lang/rust/issues/13926 will be fixed. - let priority_ref = (*Self::PTR) - .shpr - .get_unchecked(usize::from((index - 8) / 4)); + #[cfg(armv6m)] + { + // NOTE(unsafe): Index is bounded to [11,15] by SystemHandler design. + // TODO: Review it after rust-lang/rust/issues/13926 will be fixed. + let priority_ref = (*Self::PTR) + .shpr + .get_unchecked(usize::from((index - 8) / 4)); - priority_ref.modify(|value| { - let shift = 8 * (index % 4); - let mask = 0x0000_00ff << shift; - let prio = u32::from(prio) << shift; + priority_ref.modify(|value| { + let shift = 8 * (index % 4); + let mask = 0x0000_00ff << shift; + let prio = u32::from(prio) << shift; - (value & !mask) | prio - }); + (value & !mask) | prio + }); + } } } From 88c5106cfcc2174ed2bafc9bc5396b1a191add50 Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Tue, 10 Mar 2026 17:00:05 -0700 Subject: [PATCH 4/7] Bump all crates to edition 2024. I also explicitly set the rustfmt style to 2021 to prevent formatting churn in this same commit. --- cortex-m-rt/.rustfmt.toml | 1 + cortex-m-rt/Cargo.toml | 2 +- cortex-m-semihosting/Cargo.toml | 2 +- cortex-m-types/Cargo.toml | 2 +- cortex-m/.rustfmt.toml | 1 + cortex-m/Cargo.toml | 2 +- panic-itm/Cargo.toml | 2 +- panic-semihosting/Cargo.toml | 2 +- testsuite/.rustfmt.toml | 1 + testsuite/Cargo.toml | 2 +- xtask/.rustfmt.toml | 1 + xtask/Cargo.toml | 2 +- 12 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 cortex-m-rt/.rustfmt.toml create mode 100644 cortex-m/.rustfmt.toml create mode 100644 testsuite/.rustfmt.toml create mode 100644 xtask/.rustfmt.toml diff --git a/cortex-m-rt/.rustfmt.toml b/cortex-m-rt/.rustfmt.toml new file mode 100644 index 000000000..8153a3d0b --- /dev/null +++ b/cortex-m-rt/.rustfmt.toml @@ -0,0 +1 @@ +style_edition = "2021" diff --git a/cortex-m-rt/Cargo.toml b/cortex-m-rt/Cargo.toml index fb16592d9..1ba4f45b3 100644 --- a/cortex-m-rt/Cargo.toml +++ b/cortex-m-rt/Cargo.toml @@ -10,7 +10,7 @@ repository = "https://github.com/rust-embedded/cortex-m" version = "0.7.5" autoexamples = true links = "cortex-m-rt" # Prevent multiple versions of cortex-m-rt being linked -edition = "2021" +edition = "2024" rust-version = "1.85" [dependencies] diff --git a/cortex-m-semihosting/Cargo.toml b/cortex-m-semihosting/Cargo.toml index dc35d716d..7e1e212c4 100644 --- a/cortex-m-semihosting/Cargo.toml +++ b/cortex-m-semihosting/Cargo.toml @@ -8,7 +8,7 @@ name = "cortex-m-semihosting" readme = "README.md" repository = "https://github.com/rust-embedded/cortex-m" version = "0.5.0" -edition = "2021" +edition = "2024" rust-version = "1.85" [features] diff --git a/cortex-m-types/Cargo.toml b/cortex-m-types/Cargo.toml index e40f47899..e415efab2 100644 --- a/cortex-m-types/Cargo.toml +++ b/cortex-m-types/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "cortex-m-types" version = "0.1.0" -edition = "2021" +edition = "2024" repository = "https://github.com/rust-embedded/cortex-m" categories = ["embedded", "hardware-support", "no-std"] description = "Low level access to Cortex-M processors" diff --git a/cortex-m/.rustfmt.toml b/cortex-m/.rustfmt.toml new file mode 100644 index 000000000..8153a3d0b --- /dev/null +++ b/cortex-m/.rustfmt.toml @@ -0,0 +1 @@ +style_edition = "2021" diff --git a/cortex-m/Cargo.toml b/cortex-m/Cargo.toml index c449ac59c..80eadd609 100644 --- a/cortex-m/Cargo.toml +++ b/cortex-m/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" name = "cortex-m" readme = "README.md" repository = "https://github.com/rust-embedded/cortex-m" -edition = "2021" +edition = "2024" version = "0.7.7" links = "cortex-m" # prevent multiple versions of this crate to be linked together rust-version = "1.85" diff --git a/panic-itm/Cargo.toml b/panic-itm/Cargo.toml index b1a11647d..6996a1d03 100644 --- a/panic-itm/Cargo.toml +++ b/panic-itm/Cargo.toml @@ -6,7 +6,7 @@ keywords = ["panic-impl", "panic-handler", "ITM", "ARM", "Cortex-M"] license = "MIT OR Apache-2.0" name = "panic-itm" repository = "https://github.com/rust-embedded/cortex-m" -edition = "2021" +edition = "2024" version = "0.4.2" rust-version = "1.85" diff --git a/panic-semihosting/Cargo.toml b/panic-semihosting/Cargo.toml index 6b8a32cc4..2e2248f53 100644 --- a/panic-semihosting/Cargo.toml +++ b/panic-semihosting/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" name = "panic-semihosting" repository = "https://github.com/rust-embedded/cortex-m" version = "0.6.0" -edition = "2021" +edition = "2024" rust-version = "1.85" [dependencies] diff --git a/testsuite/.rustfmt.toml b/testsuite/.rustfmt.toml new file mode 100644 index 000000000..8153a3d0b --- /dev/null +++ b/testsuite/.rustfmt.toml @@ -0,0 +1 @@ +style_edition = "2021" diff --git a/testsuite/Cargo.toml b/testsuite/Cargo.toml index cb619649e..84661f0ea 100644 --- a/testsuite/Cargo.toml +++ b/testsuite/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "testsuite" publish = false -edition = "2021" +edition = "2024" version = "0.1.0" rust-version = "1.85" diff --git a/xtask/.rustfmt.toml b/xtask/.rustfmt.toml new file mode 100644 index 000000000..8153a3d0b --- /dev/null +++ b/xtask/.rustfmt.toml @@ -0,0 +1 @@ +style_edition = "2021" diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml index 88f58a410..25a4a4932 100644 --- a/xtask/Cargo.toml +++ b/xtask/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "xtask" version = "0.0.0" -edition = "2021" +edition = "2024" publish = false rust-version = "1.85" From 4ccdf2ade305941bbb052ac47f0a0762ad8b6d16 Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Tue, 10 Mar 2026 17:20:42 -0700 Subject: [PATCH 5/7] Bump rustfmt style to 2024. Needed to update the assembled libs because the formatting touched the asm boilerplate. --- cortex-m-rt/.rustfmt.toml | 1 - cortex-m-rt/examples/hard-fault-trampoline.rs | 2 +- cortex-m-rt/examples/override-exception.rs | 2 +- cortex-m-rt/examples/unsafe-hard-fault.rs | 2 +- cortex-m-rt/examples/unsafety.rs | 2 +- cortex-m-rt/examples/warnings.rs | 2 +- cortex-m/.rustfmt.toml | 1 - cortex-m/asm/inline.rs | 4 ++-- cortex-m/bin/thumbv6m-none-eabi-lto.a | Bin 11256 -> 11256 bytes cortex-m/bin/thumbv7em-none-eabi-lto.a | Bin 15340 -> 15340 bytes cortex-m/bin/thumbv7em-none-eabihf-lto.a | Bin 16168 -> 16168 bytes cortex-m/bin/thumbv7m-none-eabi-lto.a | Bin 14196 -> 14192 bytes cortex-m/bin/thumbv8m.base-none-eabi-lto.a | Bin 14340 -> 14340 bytes cortex-m/bin/thumbv8m.main-none-eabi-lto.a | Bin 18732 -> 18728 bytes cortex-m/bin/thumbv8m.main-none-eabihf-lto.a | Bin 19512 -> 19508 bytes cortex-m/src/critical_section.rs | 2 +- cortex-m/src/delay.rs | 2 +- cortex-m/src/peripheral/scb.rs | 4 ++-- cortex-m/src/register/primask.rs | 2 +- testsuite/.rustfmt.toml | 1 - testsuite/src/main.rs | 2 +- xtask/.rustfmt.toml | 1 - xtask/src/main.rs | 8 ++++++-- 23 files changed, 19 insertions(+), 19 deletions(-) delete mode 100644 cortex-m-rt/.rustfmt.toml delete mode 100644 cortex-m/.rustfmt.toml delete mode 100644 testsuite/.rustfmt.toml delete mode 100644 xtask/.rustfmt.toml diff --git a/cortex-m-rt/.rustfmt.toml b/cortex-m-rt/.rustfmt.toml deleted file mode 100644 index 8153a3d0b..000000000 --- a/cortex-m-rt/.rustfmt.toml +++ /dev/null @@ -1 +0,0 @@ -style_edition = "2021" diff --git a/cortex-m-rt/examples/hard-fault-trampoline.rs b/cortex-m-rt/examples/hard-fault-trampoline.rs index 995e7ce29..e2fb56d4f 100644 --- a/cortex-m-rt/examples/hard-fault-trampoline.rs +++ b/cortex-m-rt/examples/hard-fault-trampoline.rs @@ -10,7 +10,7 @@ extern crate cortex_m_rt; extern crate panic_halt; use core::arch::asm; -use cortex_m_rt::{entry, exception, ExceptionFrame}; +use cortex_m_rt::{ExceptionFrame, entry, exception}; // This defines both `HardFault` and `_HardFault`. Both should have // link_section attributes placing them at the end of the .text section, diff --git a/cortex-m-rt/examples/override-exception.rs b/cortex-m-rt/examples/override-exception.rs index 3190b77d5..46783d078 100644 --- a/cortex-m-rt/examples/override-exception.rs +++ b/cortex-m-rt/examples/override-exception.rs @@ -9,7 +9,7 @@ extern crate cortex_m_rt as rt; extern crate panic_halt; use cortex_m::asm; -use rt::{entry, exception, ExceptionFrame}; +use rt::{ExceptionFrame, entry, exception}; #[entry] fn main() -> ! { diff --git a/cortex-m-rt/examples/unsafe-hard-fault.rs b/cortex-m-rt/examples/unsafe-hard-fault.rs index b1d48f340..ee4cad967 100644 --- a/cortex-m-rt/examples/unsafe-hard-fault.rs +++ b/cortex-m-rt/examples/unsafe-hard-fault.rs @@ -5,7 +5,7 @@ extern crate cortex_m_rt; extern crate panic_halt; -use cortex_m_rt::{entry, exception, ExceptionFrame}; +use cortex_m_rt::{ExceptionFrame, entry, exception}; #[entry] fn foo() -> ! { diff --git a/cortex-m-rt/examples/unsafety.rs b/cortex-m-rt/examples/unsafety.rs index 444de6c96..86eaa5f35 100644 --- a/cortex-m-rt/examples/unsafety.rs +++ b/cortex-m-rt/examples/unsafety.rs @@ -7,7 +7,7 @@ extern crate cortex_m_rt; extern crate panic_halt; -use cortex_m_rt::{entry, exception, ExceptionFrame}; +use cortex_m_rt::{ExceptionFrame, entry, exception}; #[entry] unsafe fn main() -> ! { diff --git a/cortex-m-rt/examples/warnings.rs b/cortex-m-rt/examples/warnings.rs index abf4a2f24..3e65041a3 100644 --- a/cortex-m-rt/examples/warnings.rs +++ b/cortex-m-rt/examples/warnings.rs @@ -11,7 +11,7 @@ extern crate cortex_m_rt; extern crate panic_halt; -use cortex_m_rt::{entry, exception, interrupt, pre_init, ExceptionFrame}; +use cortex_m_rt::{ExceptionFrame, entry, exception, interrupt, pre_init}; #[allow(non_camel_case_types)] enum interrupt { diff --git a/cortex-m/.rustfmt.toml b/cortex-m/.rustfmt.toml deleted file mode 100644 index 8153a3d0b..000000000 --- a/cortex-m/.rustfmt.toml +++ /dev/null @@ -1 +0,0 @@ -style_edition = "2021" diff --git a/cortex-m/asm/inline.rs b/cortex-m/asm/inline.rs index 37e2cf463..3444c62d5 100644 --- a/cortex-m/asm/inline.rs +++ b/cortex-m/asm/inline.rs @@ -7,7 +7,7 @@ //! applicable. use core::arch::asm; -use core::sync::atomic::{compiler_fence, Ordering}; +use core::sync::atomic::{Ordering, compiler_fence}; #[inline(always)] pub unsafe fn __bkpt() { @@ -228,7 +228,7 @@ pub use self::v7m::*; #[cfg(any(armv7m, armv8m_main))] mod v7m { use core::arch::asm; - use core::sync::atomic::{compiler_fence, Ordering}; + use core::sync::atomic::{Ordering, compiler_fence}; #[inline(always)] pub unsafe fn __basepri_max(val: u8) { diff --git a/cortex-m/bin/thumbv6m-none-eabi-lto.a b/cortex-m/bin/thumbv6m-none-eabi-lto.a index b07a93295743d6a6745baf82c269fb4800f9363e..529cd646660a0baff58d8a03a2ae6d93122045b2 100644 GIT binary patch delta 76 zcmV-S0JH!2SNK=3w+J9&GcsjmGBIW{Ic7F9G&L|aW@a#BHZ(FfH8(XmF*0Pc*9eOr i8CM_S`wsSbA62C^`BGhly4~X&AKdhW-wm^SD18GbRUOL! delta 76 zcmV-S0JH!2SNK=3w+J9IGBG)1VKO*jWi>ZsVlXsiWo0%pH)SDI=}VV`?D70mtwe^|47D18GzJssNs diff --git a/cortex-m/bin/thumbv7em-none-eabi-lto.a b/cortex-m/bin/thumbv7em-none-eabi-lto.a index 34eec1a3e67834247517985ed2363744470e66b1..49b03fc6bbade9f2fa66c099541cdeb2844b60df 100644 GIT binary patch delta 77 zcmV-T0J8t=ckFkt^9dkgGcsjmGBIW{Ic7F9G&L|aW@a#BHZ(FfH8(XmF*0Pc6AB6~ j8Va^|N&64Vy2j&I7+(_S^MFie)n)u#N7FvDH#fBeHz6HS delta 77 zcmV-T0J8t=ckFkt^9dj_GBG)1VKO*jWi>ZsVlXsiWo0%pH)S)_RYG`-kZrbmCXH#fBeX0RT& diff --git a/cortex-m/bin/thumbv7em-none-eabihf-lto.a b/cortex-m/bin/thumbv7em-none-eabihf-lto.a index b0b999dba0a99c189a762ef683912392c7791b3d..a477de83438fea8057b5e70edba17ec261199f64 100644 GIT binary patch delta 78 zcmV-U0I~n5eyD!1Ckh~9GcsjmGBIW{Ic7F9G&L|aW@a#BHZ(FfH8(XmF*0PcM+(X> k8;a8%*%1zM8db$RAoCC{_dxW0e(VF?7DJRDvn)FN1no2%RR910 delta 78 zcmV-U0I~n5eyD!1Ckh}kGBG)1VKO*jWi>ZsVlXsiWo0%pH)S k8wxT$ZGH?;^^NI1n9DYG%fR*7e#Zm-WuHZwFeFg0doFk?0}GB-6h tH90XdWV5pgMkyMKzqHGi8PR?8TLG-s-$rzirb|#TRrU?p0kan~T?C8NAo2hJ delta 91 zcmV-h0Hpu$ZuD-DJOMb7J!=7*v8n0^ATlyBIb>lnIALWqH)LWkG-YLFHZnJ5HDNI` xF*Ig2VzaXeMkyW&v)_L)7wXhR&so^Pv6W>3T}j+k1r=ORln(#^0J9S_T?7lJAXfkY diff --git a/cortex-m/bin/thumbv8m.base-none-eabi-lto.a b/cortex-m/bin/thumbv8m.base-none-eabi-lto.a index a1c8f756d87d389666b9431f7669bdb203e09084..166e4eb9ec9548bf7f97f9f4bf16b4826888aafb 100644 GIT binary patch delta 77 zcmV-T0J8staD;HMV+kN)GcsjmGBIW{Ic7F9G&L|aW@a#BHZ(FfH8(XmF*0Pcg9#2Q j8j2CcSse}9KHl?SzTtlS1Ko_@)F1enEpJk@t20>y;$9rv delta 77 zcmZoEXero`%&A~xWN4X^Xk?L?YHFU6WMGn-nrdcbo@$zCXl!VbW|p+MnUhaTifdn3 h@<#Dja(})SI=n1@7PwI4dz7EoH`!X|&8v+gSpfCx97q5F diff --git a/cortex-m/bin/thumbv8m.main-none-eabi-lto.a b/cortex-m/bin/thumbv8m.main-none-eabi-lto.a index 9d7845cf5b263d4dc55991139437d5895212e034..5ff66960f701e2b98e98897a387d950482359eb8 100644 GIT binary patch delta 88 zcmV-e0H^<~k^!ia0gyZaFp)iT0j{yJ;t3#PGcsjmGBIW{Ic7F9G&L|aW@a#BHZ(Ff uH8(XmF*0PcvkIO#8H)U-f4ERz-bVM~4gI=w2iy-&wL9^*#VfOJL%s!hf+C*) delta 92 zcmV-i0Hgn?k^!ue0gyZaG?6`X0k5&K;t3!!GBG)1VKO*jWi>ZsVlXsiWo0%pH)S

ZsVlXsiWo0%pH)S

2W?;tLHwI&6;#o4nR00029Ge!Xh)^8x} diff --git a/cortex-m/src/critical_section.rs b/cortex-m/src/critical_section.rs index c4fcf147d..039d12a0b 100644 --- a/cortex-m/src/critical_section.rs +++ b/cortex-m/src/critical_section.rs @@ -1,4 +1,4 @@ -use critical_section::{set_impl, Impl, RawRestoreState}; +use critical_section::{Impl, RawRestoreState, set_impl}; use crate::interrupt; use crate::register::primask; diff --git a/cortex-m/src/delay.rs b/cortex-m/src/delay.rs index 4dcc1345c..969653097 100644 --- a/cortex-m/src/delay.rs +++ b/cortex-m/src/delay.rs @@ -1,6 +1,6 @@ //! A delay driver based on SysTick. -use crate::peripheral::{syst::SystClkSource, SYST}; +use crate::peripheral::{SYST, syst::SystClkSource}; use eh1::delay::DelayNs; /// System timer (SysTick) as a delay provider. diff --git a/cortex-m/src/peripheral/scb.rs b/cortex-m/src/peripheral/scb.rs index 30b9e7402..81e1b8b5d 100644 --- a/cortex-m/src/peripheral/scb.rs +++ b/cortex-m/src/peripheral/scb.rs @@ -4,13 +4,13 @@ use core::ptr; use volatile_register::RW; -#[cfg(not(armv6m))] -use super::cpuid::CsselrCacheType; #[cfg(not(armv6m))] use super::CBP; #[cfg(not(armv6m))] use super::CPUID; use super::SCB; +#[cfg(not(armv6m))] +use super::cpuid::CsselrCacheType; #[cfg(feature = "serde")] use serde::{Deserialize, Serialize}; diff --git a/cortex-m/src/register/primask.rs b/cortex-m/src/register/primask.rs index 0099c69b0..28e31d8c4 100644 --- a/cortex-m/src/register/primask.rs +++ b/cortex-m/src/register/primask.rs @@ -3,7 +3,7 @@ #[cfg(cortex_m)] use core::arch::asm; #[cfg(cortex_m)] -use core::sync::atomic::{compiler_fence, Ordering}; +use core::sync::atomic::{Ordering, compiler_fence}; /// All exceptions with configurable priority are ... #[derive(Clone, Copy, Debug, Eq, PartialEq)] diff --git a/testsuite/.rustfmt.toml b/testsuite/.rustfmt.toml deleted file mode 100644 index 8153a3d0b..000000000 --- a/testsuite/.rustfmt.toml +++ /dev/null @@ -1 +0,0 @@ -style_edition = "2021" diff --git a/testsuite/src/main.rs b/testsuite/src/main.rs index 143706b51..5aa220379 100644 --- a/testsuite/src/main.rs +++ b/testsuite/src/main.rs @@ -25,7 +25,7 @@ fn PendSV() { #[minitest::tests] mod tests { - use crate::{Ordering, EXCEPTION_FLAG}; + use crate::{EXCEPTION_FLAG, Ordering}; use minitest::log; #[init] diff --git a/xtask/.rustfmt.toml b/xtask/.rustfmt.toml deleted file mode 100644 index 8153a3d0b..000000000 --- a/xtask/.rustfmt.toml +++ /dev/null @@ -1 +0,0 @@ -style_edition = "2021" diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 26dce31b4..01da649bd 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -12,8 +12,12 @@ fn main() { eprintln!(); eprintln!("subcommands:"); eprintln!(" assemble Reassemble the pre-built artifacts"); - eprintln!(" check-blobs Check that the pre-built artifacts are up-to-date and reproducible"); - eprintln!(" check-host-side Build the crate in a non-Cortex-M host application and check host side usage of certain types"); + eprintln!( + " check-blobs Check that the pre-built artifacts are up-to-date and reproducible" + ); + eprintln!( + " check-host-side Build the crate in a non-Cortex-M host application and check host side usage of certain types" + ); process::exit(1); } } From f2ad315d4c3a33b05410e72e82243346f5691aae Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Tue, 10 Mar 2026 21:47:50 -0700 Subject: [PATCH 6/7] Bump resolver version to the default for 2024 edition. --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 82eba3749..d025be626 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -resolver = "2" +resolver = "3" members = [ "cortex-m", "cortex-m-types", From 0fe3a7c495907e18b643f6284f2874f85ca33c13 Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Tue, 10 Mar 2026 21:11:49 -0700 Subject: [PATCH 7/7] Update the asm toolchain to 1.94.0. --- cortex-m/asm-toolchain | 2 +- cortex-m/asm/lib.rs | 11 ++++------- cortex-m/bin/thumbv6m-none-eabi-lto.a | Bin 11256 -> 11232 bytes cortex-m/bin/thumbv6m-none-eabi.a | Bin 14584 -> 13252 bytes cortex-m/bin/thumbv7em-none-eabi-lto.a | Bin 15340 -> 15328 bytes cortex-m/bin/thumbv7em-none-eabi.a | Bin 19344 -> 17856 bytes cortex-m/bin/thumbv7em-none-eabihf-lto.a | Bin 16168 -> 16244 bytes cortex-m/bin/thumbv7em-none-eabihf.a | Bin 20492 -> 18992 bytes cortex-m/bin/thumbv7m-none-eabi-lto.a | Bin 14192 -> 14092 bytes cortex-m/bin/thumbv7m-none-eabi.a | Bin 18076 -> 16600 bytes cortex-m/bin/thumbv8m.base-none-eabi-lto.a | Bin 14340 -> 13960 bytes cortex-m/bin/thumbv8m.base-none-eabi.a | Bin 18688 -> 17140 bytes cortex-m/bin/thumbv8m.main-none-eabi-lto.a | Bin 18728 -> 18452 bytes cortex-m/bin/thumbv8m.main-none-eabi.a | Bin 24416 -> 22696 bytes cortex-m/bin/thumbv8m.main-none-eabihf-lto.a | Bin 19508 -> 19380 bytes cortex-m/bin/thumbv8m.main-none-eabihf.a | Bin 25532 -> 23800 bytes 16 files changed, 5 insertions(+), 8 deletions(-) diff --git a/cortex-m/asm-toolchain b/cortex-m/asm-toolchain index cc5dbb24a..8db4a57b3 100644 --- a/cortex-m/asm-toolchain +++ b/cortex-m/asm-toolchain @@ -1 +1 @@ -nightly-2021-12-16 +1.94.0 diff --git a/cortex-m/asm/lib.rs b/cortex-m/asm/lib.rs index 48f3dc211..69060ee72 100644 --- a/cortex-m/asm/lib.rs +++ b/cortex-m/asm/lib.rs @@ -5,8 +5,8 @@ //! to build this file themselves. //! //! Nowadays the assembly stubs are no longer actual assembly files, but actually just this small -//! Rust crate that uses unstable inline assembly, coupled with the `xtask` tool to invoke rustc -//! and build the files. +//! Rust crate that uses inline assembly, coupled with the `xtask` tool to invoke rustc and build +//! the files. //! //! Precompiling this to a static lib allows users to call assembly routines from stable Rust, but //! also perform [linker plugin LTO] with the precompiled artifacts to completely inline the @@ -21,8 +21,8 @@ //! //! # Rust version management //! -//! Since inline assembly is still unstable, and we want to ensure that the created blobs are -//! up-to-date in CI, we have to pin the nightly version we use for this. The nightly toolchain is +//! Since we want to ensure that the created blobs are up-to-date in CI, we have to +//! pin the version of the rust toolchain that we use for this. The toolchain version is //! stored in `asm-toolchain`. //! //! The `cargo xtask` automation will automatically install the `asm-toolchain` as well as all @@ -30,12 +30,9 @@ //! //! [linker plugin LTO]: https://doc.rust-lang.org/stable/rustc/linker-plugin-lto.html -#![feature(asm)] #![no_std] #![crate_type = "staticlib"] #![deny(warnings)] -// Don't warn about feature(asm) being stable on Rust >= 1.59.0 -#![allow(stable_features)] mod inline; diff --git a/cortex-m/bin/thumbv6m-none-eabi-lto.a b/cortex-m/bin/thumbv6m-none-eabi-lto.a index 529cd646660a0baff58d8a03a2ae6d93122045b2..e77486872f10b4467d14ace354958ef68486da9f 100644 GIT binary patch literal 11232 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 literal 11256 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 diff --git a/cortex-m/bin/thumbv6m-none-eabi.a b/cortex-m/bin/thumbv6m-none-eabi.a index 30d33eb9d22b465f3b49a1248914d5fe7fff7165..e23024d863121a2ca2fac86ecbb69fd6c56822ad 100644 GIT binary patch literal 13252 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 amH3!=T}UG2uD0U=Y!*t!$%-Aito|FmlE^&( literal 14584 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 diff --git a/cortex-m/bin/thumbv7em-none-eabi-lto.a b/cortex-m/bin/thumbv7em-none-eabi-lto.a index 49b03fc6bbade9f2fa66c099541cdeb2844b60df..dfa6dd0dc4b3238baea3ffbfc414cd63d44f65a1 100644 GIT binary patch literal 15328 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 literal 15340 zcmd6O3wRsVo$ndR)+n|zQWD3JW7!$y0d5i}qqh{>AlY#UG;Bo(!9a>NdSMsak!8n^ zQ0Pd0$bidLxGD8s(z|jSN}z1(LY8JBUqAVg#2dV+$x_x!b6F>Gg2N4|ft1Z{DZT$Q zqp@T=CMh5NzSU>X8U4?hGw1xy|NNgv+F~~7sk$v=m2RU!PbWW2@|G6vQ?E3wGwCft zdsl|Lx^81*)t*{+lf_qCShu^*SLkEi)rB>UyEp7c2$hz_-#29;M8UmV!DvD!GG1|I z{-cU)7?%a$Z&db)Q~9Y~S*s%JoMbCcxe}#5;Hax{>i^N334J=!DiHedLWD9US|ovf zvf-Z$t=i`pPPQo zizD4C$Fmaeu>6-qp6GUb=NY7vxZc?o zpIn%xmJF%yT+S+f{8QxVc6_GrD3-WRZc%re5xNInvJu{s`!0R$FYqCv@`h+6P!$PQ zNn2VXjRA6R0ojTMLV05ZJ*m}9oYkBR<-h0BjQ8eq4FzN~)NYN`BlF?V6n+-_;{JJJAkVVr{6OAHm4x#dVV zW>+CvmK!^V`y%66=yvo4ilU4|(wNe$K8~qMy9S+>olA@shK}xpImn<~5_Xl++f-pT ztWqrryGvc$3;411pD5-wyU|na|gEwAr*`(4gT#&9gm)@kR!}d91xHk zN!8oSpC+J6Xod(EDqDL6n!q2=cr;SDwwh#j;Kx(jn5@8|Gx|B^nDZ{`Dd9ylJc=Z7 z)Vbp^CyWFShJb$+k}(G*9c>8F@D0C_Lky?=?Kd<4F*L9P1*LI>;-y`^bB2_eIeXZZ zR%kS1NIw{4XHEa9yg5Vq7!L`*e0oT)Mpn)q(rsB#J7Y-puwxcV#}+>=ff=Nr^z!pn z%XxmmQ~~XM$377zhC$$0lY1~MHQQG@9tQl?qQ~{+;-@jF8Fpbg=YKx&3 z{_M~OrD2p#4t_`2$p8ZM1`GF3D|Sdx9KK;5Km;uA%ggFl(qQU1SkobNwRbo?&I`Qv{e)+m=d-}nh}Z0~aC zd8c|cekPr7)|NXW zEg3E=>6Vs^v~+_IdrXeSQ~;z|K-$z23DA+8kww(yD0P-m)-lTSQ`D4`GN^{~-q&iz zw0Q$;zMpxr=xAHfXqoM>wD@RSal5o=WGbu4MLt$VTCjK|EnFl3qS8e+6_8EW(xKaC zE>bCv)T<-Go=9s?X#JHb>dH9vhd6bak-CR_H50v>5&n9H)tuC7hC+EKS=qbMGTU&O zt%tuJ8MN*%vvx^~_784^mwp~DdPiE+H>fyK9SKxKf`PWiDze2DX;eoVW09Ow_bRU- zu@WtatBkawm(f54G{TB|t|%0Dv>LObt6BHypR$J$r6=|Ef2h;wyf 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 literal 19344 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 literal 16168 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 M9^ShaJQRffKbp=>Bme*a diff --git a/cortex-m/bin/thumbv7em-none-eabihf.a b/cortex-m/bin/thumbv7em-none-eabihf.a index f3130e02287f30e542afcf122fcbfa1d235d94d8..65b50f03ec6cf315655dfe932202b74c36266de6 100644 GIT binary patch literal 18992 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 literal 20492 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 diff --git a/cortex-m/bin/thumbv7m-none-eabi-lto.a b/cortex-m/bin/thumbv7m-none-eabi-lto.a index a6a238cad8fa1d9721c45a6b98d308eedf633665..20403a6e5d00898b7a225bb6eab4f0e98f9e5220 100644 GIT binary patch literal 14092 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 Xq9wn_P5nz6d>>bI>yLgh-01%U?=QOP literal 14192 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 F{{cLiuIm5* diff --git a/cortex-m/bin/thumbv7m-none-eabi.a b/cortex-m/bin/thumbv7m-none-eabi.a index 30dbd187f1645eea493d745f443e2993838d8f72..9c0efc69fc8f065b48350b3eb638fd788379e6e9 100644 GIT binary patch literal 16600 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

(p75v$2yg3`)62{b>=vBZxz3W zxtgA*Lp?<=zi0QLo6k>DVm#Hn@#wjyFg`l!jZLc#8{n|I3XOj(Rykn*46w4!bVfD5;d9E$9_G*SD(g*mR%77lVU?P}@w?XhT`)XW z8n0p>I)CdK8=v-i-n{j#-BZ(U;aycK@KmfaHBaM0r25Y%LUL)+9rdbI<-vP3UHRE@ zW$N;C>dH1e{j03;kNrD}Wvw4CRI%o9a%Dfo>KYu{_h2GUyTqGDi9FJ%@<%LK{C`|} z8hZu)1?eF6msdjt*s65;S6rFLwx|=fnX-g!Q>XKBwe7HV1_@i2PAhSR-Nb&8`+?YM zgSHrdXQPZ?bo=pRdMf7IdC1d-Ki1B%uwZ=?m*M>x?83ZH z$L4wQ*ctGC3i&Yab&xB?`%&L6;2nZYUh}ou@P1gz`hiTxWAnW9YvSd*dYE?tGX0rk z;{7=aU>EStK&GAP8^inWC=17XA~w&v7&^n-1IJ}N)`MPd+ zW3UVJJ|COs#jQ2q{Y#LBc^`nTQa|$<1^)uxM_@-@+@5tZynLn!^S%_D=Uoa*6YuTF zhj|}^j9Y(@OuX+#NtpLLkjZOK0}L5C9&0en`wVpSXOiK)#skje1=5O!hS zh7d0vg#upAi*UTJKxTiKWZF=R0@ww-tq`a)bI|b8SD3eT<$S!aht9ynQR@=M^5w1KxvHypNz>CEh=` z`uUjf;;~*Q!@J+==l&2czeAgNZ$y3k3*vnWLM7f2-!6#v8OV$`rCI0und2UgcjLD=zFolkJnYEJ*A*rc?=IxSyaOTLtk|($yFXt7UcOtg+$5-V zYP9AR-$iMc6TRWBv*y(`A>NB%YvN^p;a|Y3P_I(F{Pv80LA?Cie)6udc)tmwaJ<*A z^zFDmvmxG1A>L2>{(^qKPW*{GPBWeE^X&rO zqS#$2dK2$QQ6ACuvD<3#^6VhYdoaYiEyQ~l z>WBOJ<|@3m`*s2EZDP0G;=L8+VcvT}yjO*I_e#7{UEPU#Z!!XqZDN|T;y4U{d@kj> zL9D0hClxAS|*t+=cUP0mxY6O@P$H>(e+z#99fBXpIV=HCu|LG3>8cr zy7*8NzAuR{g3+CYOt@cWa3enfJ>$3*KjSZD`MVu23bZrH_`A^ZcTFe0Z=;O%^bApLuwhIAUJ5U`K!a@j^6qr?t=Ddqu7F{GT|rJqwZ6!!DeRt{E8&-GtH64xh+^ zWbD3W`J0Aa11g%tIGA{*7Vf`>uK9Rf=uNzTYx%o*8NTC&{2AUaS^kdVq2)OIu>T4n Zf5%Z5ra@}J1NJe@1NvEqA9-8x`(NK4flB}Y literal 18076 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 X$6upEwN#GafPK8$$=g!VYXtr;vD0{% diff --git a/cortex-m/bin/thumbv8m.base-none-eabi-lto.a b/cortex-m/bin/thumbv8m.base-none-eabi-lto.a index 166e4eb9ec9548bf7f97f9f4bf16b4826888aafb..d7557ba0084cde1772431c1c7e3c02044e3f831d 100644 GIT binary patch literal 13960 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 literal 14340 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 H&lICE$XcP&@<9R!p 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 F{|(izdQt!Y diff --git a/cortex-m/bin/thumbv8m.main-none-eabi-lto.a b/cortex-m/bin/thumbv8m.main-none-eabi-lto.a index 5ff66960f701e2b98e98897a387d950482359eb8..b65cababcb41a4f23a57b3011ca310726808b257 100644 GIT binary patch literal 18452 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 NTQc=`y!cHb^q=vhS)Bj? literal 18728 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 Zmqqvue2>OyG8oNFp>xNsRoMJS{|^rSC#(Pf diff --git a/cortex-m/bin/thumbv8m.main-none-eabi.a b/cortex-m/bin/thumbv8m.main-none-eabi.a index 9971923285f75280fe73695ce4b97ae3b144b01b..d921f985e56ef01b8cafb01ff9245dab36a8721b 100644 GIT binary patch literal 22696 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 diff --git a/cortex-m/bin/thumbv8m.main-none-eabihf.a b/cortex-m/bin/thumbv8m.main-none-eabihf.a index 9e07c40f7acc905e249ffd7fe3bf8eb1b3aa1957..37dcfda81715a474d725e2c36f82433752d3597e 100644 GIT binary patch literal 23800 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

%kb`W>jR-!Y#iQxDYh zY$3*6G)>P(R6)z2)bnwL$QKhaFIS7)OB^TXG2(5cjCr|P^fwYG$axI?R?3){ z+eN>FI9bkP=%1#HdAVEkKO~~^dqsYYh(F_e*WkzmRqR zVqWV0gsl6sUHT8Q?!Ob{Jchi8{W(*q6-3Av6EQDWi`+{*3GEkoBN6j*v&c6RBWS!{?HBn2BG)mDG3z^y*oF3s zJcBq7?HBnZBIaX8>LBu@TLd5*pMZ~;$n~3?s-|}&u==x)R=z3ya z==xwjXkN^N9kgr1c~3kR=Q9!G-4F(1oZE>QUwwasalM!_#*;rW=QwU9V*H*aV%%OM zV!RsB298rF5#zIjh;ivBVmxjpVjLbOcHt-c#Cb}+MVycN^ST`U+(|_L>iYroYd>Z5 z=gma)PHVpw)|P-q@nse!;>ack4R1CO^Dk@Sw8(T%W%zSHTZx z{6(h34TQJ9>$FHFLp`;5pRRV(I2r1BGH^YeOon=DnGE&RW-`>%+po&iskirvXKlTi zPW2f0(q|n{^Qyf)j6MD3fjaiq>-(Mk1H+}xGnQO1YiKxExU7x?egjxMy4Ugdzjs)>dVGVmwnqOP$XE4&LLF1SOIkY!e`HffgJ0`( z;shAZ5jXT{thuc6<@NUA&Ulu`m_A1JQ6J(NU968$ebk3|S{LhMR3G&rp3=qo7}ZC8 zh$nTiK1TIXAL0pJtdCKB)Q5On7wcnGAKgPt7wcox&8zleXClhtxIV`8G3p+*GNP6G z7}LjSM8A_(jukSgbT%@puxd@GR$$-zQ`181Q`j24v=V#UI_&QzVcXW}B4n61Dr}{` zgzZtM`)k-49SyLJ>-3kd-QXsXu@x&^PIz@OK3{?z9#wd07rx@B9j{Ah!w=>0XoOwA zE|i(NBJ1&nT|18#Te$W&wubjZRMh6(ZSmsKlgCR^o0nTYE{D8i+WQ_#VCV5(44L&d z9EO+IRi+GCwa4ORT+`m4BV+RxMMobd!~0X$&f{GT9eHu7rW4~a@x5xBcdx}e9(vl* zkI!dq-a*j;bTYgbxON`zFtqeP%r(>TnC0)PZQgwr?*!-#Fa2!Z5y-gA^b%t;VLJQz zc?)Ffa0#jt<1sOo&AZ>?odliXor8cj@14+@xq__M&oS4|Ywvx~k=MM@V|Y7ZXY;;o z@#3=B<2^ROyB)e(y!eY-zV<#MytuU1$?#4N@V;;HPKTvwZ&QHxN$6_v{t*u77q7j$ zV8`~FH;@ePzawL}mk&N@$MYAL`yTH%FmddD-VI$X-oJM3Jl;L9V?5k4=wx{Lhb?U0 zCX4rISkjJu+wie@_d>44yVbSxc=ti3|1tP58D7p0n|Ff6d#u>e@0P%Nwcm12Z+vG6 z?<|xv8QzV^+q@Br7q^`rZx{S+UOo>pF&Gck*D2-NdAu_rv)&QW8=n};ZQhK<%kR=n zd)twLsndy-W%ZED7@wkMbqB9 z1H3CO-Y!I?9s8N*6he6Yd@Y1p=g~2)o!8Gd3hz9WGa25akhj~r+TuM;?8rM1Xzy(j z4=SBZdrN`#ZWX%)VrO{yCv|MzL5ufv*qZjX!5{yc2 za+`O(#e1g3J1fxM$LsJO7ijO(!h3drm%pmCc}FZ>Jg)NE`{!slLU?WbE`)Z8MKJxx zzib1Q*Iqu)WP9<*ODAK;@9%Bi%@*%Du%sRR_`SW&%jbmcI+A;!9nt?|9ewext}g?Cwi_X^nAymwl>c>T%a?GNyt zREM`1;7tgxdBfK9%gO-neHQNui?@ zebVC1S-gvpw|RT(@Sf({dA!5ITL|!Sy|#IGS-eH)%zS~=bJggkPvnHk!$Di zjtFmA^v34}*x9_hE#6hIHN0=Z-{$4_2etZ{&+lR9@oo{`o&fJYl-s;}EZ)yqyuU); z=Do8HFMs!I^WG=Cy#d~zLbiGLTD*PGnfCIp+}XU_>+t@AYv;B15#b#O@IHfbn|GhZ zJ81Dfi@eSIB>ZaiGw;{z_U;niN`Uuq$TshOi+2b*)7}m6w|RHh;T>@8y!P%9Uh_t~ znOB#g+~$4T;$3U;a(rywy>)o=uARrr`NQ>nJw8l^murK~`@Y4yLG0*v01o6eX+Pre zZ!nu=vcG|y9Zx0kT^x*fU(2`h$;)`W&NMy{)$g$%f6FQ`*_|jidD`)JKm0ogCK=sR zu(NqH;N5}(@?M3H;cY{`jSpjN!vhdrdzxgj-1qEwyH9byLuI@Xd`vvPk7;}uO z(mK(O_Y)==JH8ib^3+9+!@CwCW99Nv>VlnJzxz->)6ZXk-qbG+7A{wqp jAYR)7a6rlayUB{T6!X%mj@p771HNO&IA-6Ufc$>~5=u_A