Struct PLIC_UX

Source
pub struct PLIC_UX { /* private fields */ }
Expand description

PLIC Peripheral

Implementations§

Source§

impl PLIC_UX

Source

pub const PTR: *const RegisterBlock = {0x20001400 as *const plic_ux::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

Source

pub fn uxint_enable(&self) -> &UXINT_ENABLE

0x00 - PLIC UX Interrupt Enable Register

Source

pub fn uxint_type(&self) -> &UXINT_TYPE

0x04 - PLIC UX Interrupt Type Register

Source

pub fn uxint_clear(&self) -> &UXINT_CLEAR

0x08 - PLIC UX Interrupt Clear Register

Source

pub fn euip_status(&self) -> &EUIP_STATUS

0x0c - PLIC EMIP Status Register

Source

pub fn uxint_pri(&self, n: usize) -> &UXINT_PRI

0x10..0x90 - PLIC UX Interrupt %s Priority Register

Source

pub fn uxint_pri_iter(&self) -> impl Iterator<Item = &UXINT_PRI>

Iterator for array of: 0x10..0x90 - PLIC UX Interrupt %s Priority Register

Source

pub fn uxint0_pri(&self) -> &UXINT_PRI

0x10 - PLIC UX Interrupt 0 Priority Register

Source

pub fn uxint1_pri(&self) -> &UXINT_PRI

0x14 - PLIC UX Interrupt 1 Priority Register

Source

pub fn uxint2_pri(&self) -> &UXINT_PRI

0x18 - PLIC UX Interrupt 2 Priority Register

Source

pub fn uxint3_pri(&self) -> &UXINT_PRI

0x1c - PLIC UX Interrupt 3 Priority Register

Source

pub fn uxint4_pri(&self) -> &UXINT_PRI

0x20 - PLIC UX Interrupt 4 Priority Register

Source

pub fn uxint5_pri(&self) -> &UXINT_PRI

0x24 - PLIC UX Interrupt 5 Priority Register

Source

pub fn uxint6_pri(&self) -> &UXINT_PRI

0x28 - PLIC UX Interrupt 6 Priority Register

Source

pub fn uxint7_pri(&self) -> &UXINT_PRI

0x2c - PLIC UX Interrupt 7 Priority Register

Source

pub fn uxint8_pri(&self) -> &UXINT_PRI

0x30 - PLIC UX Interrupt 8 Priority Register

Source

pub fn uxint9_pri(&self) -> &UXINT_PRI

0x34 - PLIC UX Interrupt 9 Priority Register

Source

pub fn uxint10_pri(&self) -> &UXINT_PRI

0x38 - PLIC UX Interrupt 10 Priority Register

Source

pub fn uxint11_pri(&self) -> &UXINT_PRI

0x3c - PLIC UX Interrupt 11 Priority Register

Source

pub fn uxint12_pri(&self) -> &UXINT_PRI

0x40 - PLIC UX Interrupt 12 Priority Register

Source

pub fn uxint13_pri(&self) -> &UXINT_PRI

0x44 - PLIC UX Interrupt 13 Priority Register

Source

pub fn uxint14_pri(&self) -> &UXINT_PRI

0x48 - PLIC UX Interrupt 14 Priority Register

Source

pub fn uxint15_pri(&self) -> &UXINT_PRI

0x4c - PLIC UX Interrupt 15 Priority Register

Source

pub fn uxint16_pri(&self) -> &UXINT_PRI

0x50 - PLIC UX Interrupt 16 Priority Register

Source

pub fn uxint17_pri(&self) -> &UXINT_PRI

0x54 - PLIC UX Interrupt 17 Priority Register

Source

pub fn uxint18_pri(&self) -> &UXINT_PRI

0x58 - PLIC UX Interrupt 18 Priority Register

Source

pub fn uxint19_pri(&self) -> &UXINT_PRI

0x5c - PLIC UX Interrupt 19 Priority Register

Source

pub fn uxint20_pri(&self) -> &UXINT_PRI

0x60 - PLIC UX Interrupt 20 Priority Register

Source

pub fn uxint21_pri(&self) -> &UXINT_PRI

0x64 - PLIC UX Interrupt 21 Priority Register

Source

pub fn uxint22_pri(&self) -> &UXINT_PRI

0x68 - PLIC UX Interrupt 22 Priority Register

Source

pub fn uxint23_pri(&self) -> &UXINT_PRI

0x6c - PLIC UX Interrupt 23 Priority Register

Source

pub fn uxint24_pri(&self) -> &UXINT_PRI

0x70 - PLIC UX Interrupt 24 Priority Register

Source

pub fn uxint25_pri(&self) -> &UXINT_PRI

0x74 - PLIC UX Interrupt 25 Priority Register

Source

pub fn uxint26_pri(&self) -> &UXINT_PRI

0x78 - PLIC UX Interrupt 26 Priority Register

Source

pub fn uxint27_pri(&self) -> &UXINT_PRI

0x7c - PLIC UX Interrupt 27 Priority Register

Source

pub fn uxint28_pri(&self) -> &UXINT_PRI

0x80 - PLIC UX Interrupt 28 Priority Register

Source

pub fn uxint29_pri(&self) -> &UXINT_PRI

0x84 - PLIC UX Interrupt 29 Priority Register

Source

pub fn uxint30_pri(&self) -> &UXINT_PRI

0x88 - PLIC UX Interrupt 30 Priority Register

Source

pub fn uxint31_pri(&self) -> &UXINT_PRI

0x8c - PLIC UX Interrupt 31 Priority Register

Source

pub fn uxint_thresh(&self) -> &UXINT_THRESH

0x90 - PLIC UX Interrupt Threshold Register

Source

pub fn uxint_claim(&self) -> &UXINT_CLAIM

0x94 - PLIC UX Interrupt Claim Register

Trait Implementations§

Source§

impl Debug for PLIC_UX

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for PLIC_UX

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for PLIC_UX

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> 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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.