aboutsummaryrefslogtreecommitdiff
path: root/src/peripheral/sau.rs
diff options
context:
space:
mode:
authorGravatar bors[bot] <26634292+bors[bot]@users.noreply.github.com> 2022-08-12 00:34:12 +0000
committerGravatar GitHub <noreply@github.com> 2022-08-12 00:34:12 +0000
commit0e530549de322684c50e858c6bb985afb5479dbe (patch)
tree21efc15cdadf74ac03a2e210f15eff1542f33e82 /src/peripheral/sau.rs
parente46e2310adc86a5a09a1858a23ecdde2a2c6963f (diff)
parent3a15a6b4b320fa328e8ab99c31f81536960dd280 (diff)
downloadcortex-m-0e530549de322684c50e858c6bb985afb5479dbe.tar.gz
cortex-m-0e530549de322684c50e858c6bb985afb5479dbe.tar.zst
cortex-m-0e530549de322684c50e858c6bb985afb5479dbe.zip
Merge #447
447: Add implementation for critical-section 1.0 r=adamgreig a=Dirbaio Picking up #433 since it seems stalled. Changes from #433 are: - Update to `critical-section 1.0.0-alpha.2` - Use `bool` restore token - Name Cargo feature `critical-section-single-core`. TODO before merging: - [x] Wait for `critical-section 1.0` release https://github.com/rust-embedded/critical-section/pull/19 Co-Authored-By: Markus Reiter `@reitermarkus` Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
Diffstat (limited to 'src/peripheral/sau.rs')
-rw-r--r--src/peripheral/sau.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/peripheral/sau.rs b/src/peripheral/sau.rs
index da91aca..6b8477f 100644
--- a/src/peripheral/sau.rs
+++ b/src/peripheral/sau.rs
@@ -7,7 +7,6 @@
//!
//! For reference please check the section B8.3 of the Armv8-M Architecture Reference Manual.
-use crate::interrupt;
use crate::peripheral::SAU;
use bitfield::bitfield;
use volatile_register::{RO, RW};
@@ -162,7 +161,7 @@ impl SAU {
/// This function is executed under a critical section to prevent having inconsistent results.
#[inline]
pub fn set_region(&mut self, region_number: u8, region: SauRegion) -> Result<(), SauError> {
- interrupt::free(|_| {
+ critical_section::with(|_| {
let base_address = region.base_address;
let limit_address = region.limit_address;
let attribute = region.attribute;
@@ -215,7 +214,7 @@ impl SAU {
/// This function is executed under a critical section to prevent having inconsistent results.
#[inline]
pub fn get_region(&mut self, region_number: u8) -> Result<SauRegion, SauError> {
- interrupt::free(|_| {
+ critical_section::with(|_| {
if region_number >= self.region_numbers() {
Err(SauError::RegionNumberTooBig)
} else {