rp-pac

Crates

git

Versions

rp235x

Flavors

Struct rp_pac::sio::regs::RiscvSoftirq

source ·
#[repr(transparent)]
pub struct RiscvSoftirq(pub u32);
Expand description

Control the assertion of the standard software interrupt (MIP.MSIP) on the RISC-V cores. Unlike the RISC-V timer, this interrupt is not routed to a normal system-level interrupt line, so can not be used by the Arm cores. It is safe for both cores to write to this register on the same cycle. The set/clear effect is accumulated across both cores, and then applied. If a flag is both set and cleared on the same cycle, only the set takes effect.

Tuple Fields§

§0: u32

Implementations§

source§

impl RiscvSoftirq

source

pub const fn core0_set(&self) -> bool

Write 1 to atomically set the core 0 software interrupt flag. Read to get the status of this flag.

source

pub fn set_core0_set(&mut self, val: bool)

Write 1 to atomically set the core 0 software interrupt flag. Read to get the status of this flag.

source

pub const fn core1_set(&self) -> bool

Write 1 to atomically set the core 1 software interrupt flag. Read to get the status of this flag.

source

pub fn set_core1_set(&mut self, val: bool)

Write 1 to atomically set the core 1 software interrupt flag. Read to get the status of this flag.

source

pub const fn core0_clr(&self) -> bool

Write 1 to atomically clear the core 0 software interrupt flag. Read to get the status of this flag.

source

pub fn set_core0_clr(&mut self, val: bool)

Write 1 to atomically clear the core 0 software interrupt flag. Read to get the status of this flag.

source

pub const fn core1_clr(&self) -> bool

Write 1 to atomically clear the core 1 software interrupt flag. Read to get the status of this flag.

source

pub fn set_core1_clr(&mut self, val: bool)

Write 1 to atomically clear the core 1 software interrupt flag. Read to get the status of this flag.

Trait Implementations§

source§

impl Clone for RiscvSoftirq

source§

fn clone(&self) -> RiscvSoftirq

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for RiscvSoftirq

source§

fn default() -> RiscvSoftirq

Returns the “default value” for a type. Read more
source§

impl PartialEq for RiscvSoftirq

source§

fn eq(&self, other: &RiscvSoftirq) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for RiscvSoftirq

source§

impl Eq for RiscvSoftirq

source§

impl StructuralPartialEq for RiscvSoftirq

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.