Struct CSR

Source
pub struct CSR {
Show 96 fields pub minstreth: ReadWriteRiscvCsr<usize, Register, MINSTRETH>, pub minstret: ReadWriteRiscvCsr<usize, Register, MINSTRET>, pub mcycleh: ReadWriteRiscvCsr<usize, Register, MCYCLEH>, pub mcycle: ReadWriteRiscvCsr<usize, Register, MCYCLE>, pub pmpcfg0: ReadWriteRiscvCsr<usize, Register, PMPCFG0>, pub pmpcfg1: ReadWriteRiscvCsr<usize, Register, PMPCFG1>, pub pmpcfg2: ReadWriteRiscvCsr<usize, Register, PMPCFG2>, pub pmpcfg3: ReadWriteRiscvCsr<usize, Register, PMPCFG3>, pub pmpcfg4: ReadWriteRiscvCsr<usize, Register, PMPCFG4>, pub pmpcfg5: ReadWriteRiscvCsr<usize, Register, PMPCFG5>, pub pmpcfg6: ReadWriteRiscvCsr<usize, Register, PMPCFG6>, pub pmpcfg7: ReadWriteRiscvCsr<usize, Register, PMPCFG7>, pub pmpcfg8: ReadWriteRiscvCsr<usize, Register, PMPCFG8>, pub pmpcfg9: ReadWriteRiscvCsr<usize, Register, PMPCFG9>, pub pmpcfg10: ReadWriteRiscvCsr<usize, Register, PMPCFG10>, pub pmpcfg11: ReadWriteRiscvCsr<usize, Register, PMPCFG11>, pub pmpcfg12: ReadWriteRiscvCsr<usize, Register, PMPCFG12>, pub pmpcfg13: ReadWriteRiscvCsr<usize, Register, PMPCFG13>, pub pmpcfg14: ReadWriteRiscvCsr<usize, Register, PMPCFG14>, pub pmpcfg15: ReadWriteRiscvCsr<usize, Register, PMPCFG15>, pub pmpaddr0: ReadWriteRiscvCsr<usize, Register, PMPADDR0>, pub pmpaddr1: ReadWriteRiscvCsr<usize, Register, PMPADDR1>, pub pmpaddr2: ReadWriteRiscvCsr<usize, Register, PMPADDR2>, pub pmpaddr3: ReadWriteRiscvCsr<usize, Register, PMPADDR3>, pub pmpaddr4: ReadWriteRiscvCsr<usize, Register, PMPADDR4>, pub pmpaddr5: ReadWriteRiscvCsr<usize, Register, PMPADDR5>, pub pmpaddr6: ReadWriteRiscvCsr<usize, Register, PMPADDR6>, pub pmpaddr7: ReadWriteRiscvCsr<usize, Register, PMPADDR7>, pub pmpaddr8: ReadWriteRiscvCsr<usize, Register, PMPADDR8>, pub pmpaddr9: ReadWriteRiscvCsr<usize, Register, PMPADDR9>, pub pmpaddr10: ReadWriteRiscvCsr<usize, Register, PMPADDR10>, pub pmpaddr11: ReadWriteRiscvCsr<usize, Register, PMPADDR11>, pub pmpaddr12: ReadWriteRiscvCsr<usize, Register, PMPADDR12>, pub pmpaddr13: ReadWriteRiscvCsr<usize, Register, PMPADDR13>, pub pmpaddr14: ReadWriteRiscvCsr<usize, Register, PMPADDR14>, pub pmpaddr15: ReadWriteRiscvCsr<usize, Register, PMPADDR15>, pub pmpaddr16: ReadWriteRiscvCsr<usize, Register, PMPADDR16>, pub pmpaddr17: ReadWriteRiscvCsr<usize, Register, PMPADDR17>, pub pmpaddr18: ReadWriteRiscvCsr<usize, Register, PMPADDR18>, pub pmpaddr19: ReadWriteRiscvCsr<usize, Register, PMPADDR19>, pub pmpaddr20: ReadWriteRiscvCsr<usize, Register, PMPADDR20>, pub pmpaddr21: ReadWriteRiscvCsr<usize, Register, PMPADDR21>, pub pmpaddr22: ReadWriteRiscvCsr<usize, Register, PMPADDR22>, pub pmpaddr23: ReadWriteRiscvCsr<usize, Register, PMPADDR23>, pub pmpaddr24: ReadWriteRiscvCsr<usize, Register, PMPADDR24>, pub pmpaddr25: ReadWriteRiscvCsr<usize, Register, PMPADDR25>, pub pmpaddr26: ReadWriteRiscvCsr<usize, Register, PMPADDR26>, pub pmpaddr27: ReadWriteRiscvCsr<usize, Register, PMPADDR27>, pub pmpaddr28: ReadWriteRiscvCsr<usize, Register, PMPADDR28>, pub pmpaddr29: ReadWriteRiscvCsr<usize, Register, PMPADDR29>, pub pmpaddr30: ReadWriteRiscvCsr<usize, Register, PMPADDR30>, pub pmpaddr31: ReadWriteRiscvCsr<usize, Register, PMPADDR31>, pub pmpaddr32: ReadWriteRiscvCsr<usize, Register, PMPADDR32>, pub pmpaddr33: ReadWriteRiscvCsr<usize, Register, PMPADDR33>, pub pmpaddr34: ReadWriteRiscvCsr<usize, Register, PMPADDR34>, pub pmpaddr35: ReadWriteRiscvCsr<usize, Register, PMPADDR35>, pub pmpaddr36: ReadWriteRiscvCsr<usize, Register, PMPADDR36>, pub pmpaddr37: ReadWriteRiscvCsr<usize, Register, PMPADDR37>, pub pmpaddr38: ReadWriteRiscvCsr<usize, Register, PMPADDR38>, pub pmpaddr39: ReadWriteRiscvCsr<usize, Register, PMPADDR39>, pub pmpaddr40: ReadWriteRiscvCsr<usize, Register, PMPADDR40>, pub pmpaddr41: ReadWriteRiscvCsr<usize, Register, PMPADDR41>, pub pmpaddr42: ReadWriteRiscvCsr<usize, Register, PMPADDR42>, pub pmpaddr43: ReadWriteRiscvCsr<usize, Register, PMPADDR43>, pub pmpaddr44: ReadWriteRiscvCsr<usize, Register, PMPADDR44>, pub pmpaddr45: ReadWriteRiscvCsr<usize, Register, PMPADDR45>, pub pmpaddr46: ReadWriteRiscvCsr<usize, Register, PMPADDR46>, pub pmpaddr47: ReadWriteRiscvCsr<usize, Register, PMPADDR47>, pub pmpaddr48: ReadWriteRiscvCsr<usize, Register, PMPADDR48>, pub pmpaddr49: ReadWriteRiscvCsr<usize, Register, PMPADDR49>, pub pmpaddr50: ReadWriteRiscvCsr<usize, Register, PMPADDR50>, pub pmpaddr51: ReadWriteRiscvCsr<usize, Register, PMPADDR51>, pub pmpaddr52: ReadWriteRiscvCsr<usize, Register, PMPADDR52>, pub pmpaddr53: ReadWriteRiscvCsr<usize, Register, PMPADDR53>, pub pmpaddr54: ReadWriteRiscvCsr<usize, Register, PMPADDR54>, pub pmpaddr55: ReadWriteRiscvCsr<usize, Register, PMPADDR55>, pub pmpaddr56: ReadWriteRiscvCsr<usize, Register, PMPADDR56>, pub pmpaddr57: ReadWriteRiscvCsr<usize, Register, PMPADDR57>, pub pmpaddr58: ReadWriteRiscvCsr<usize, Register, PMPADDR58>, pub pmpaddr59: ReadWriteRiscvCsr<usize, Register, PMPADDR59>, pub pmpaddr60: ReadWriteRiscvCsr<usize, Register, PMPADDR60>, pub pmpaddr61: ReadWriteRiscvCsr<usize, Register, PMPADDR61>, pub pmpaddr62: ReadWriteRiscvCsr<usize, Register, PMPADDR62>, pub pmpaddr63: ReadWriteRiscvCsr<usize, Register, PMPADDR63>, pub mie: ReadWriteRiscvCsr<usize, Register, MIE>, pub mscratch: ReadWriteRiscvCsr<usize, Register, MSCRATCH>, pub mepc: ReadWriteRiscvCsr<usize, Register, MEPC>, pub mcause: ReadWriteRiscvCsr<usize, Register, MCAUSE>, pub mtval: ReadWriteRiscvCsr<usize, Register, MTVAL>, pub mip: ReadWriteRiscvCsr<usize, Register, MIP>, pub mtvec: ReadWriteRiscvCsr<usize, Register, MTVEC>, pub mstatus: ReadWriteRiscvCsr<usize, Register, MSTATUS>, pub mseccfg: ReadWriteRiscvCsr<usize, Register, MSECCFG>, pub mseccfgh: ReadWriteRiscvCsr<usize, Register, MSECCFGH>, pub utvec: ReadWriteRiscvCsr<usize, Register, UTVEC>, pub stvec: ReadWriteRiscvCsr<usize, Register, STVEC>,
}

Fields§

§minstreth: ReadWriteRiscvCsr<usize, Register, MINSTRETH>§minstret: ReadWriteRiscvCsr<usize, Register, MINSTRET>§mcycleh: ReadWriteRiscvCsr<usize, Register, MCYCLEH>§mcycle: ReadWriteRiscvCsr<usize, Register, MCYCLE>§pmpcfg0: ReadWriteRiscvCsr<usize, Register, PMPCFG0>§pmpcfg1: ReadWriteRiscvCsr<usize, Register, PMPCFG1>§pmpcfg2: ReadWriteRiscvCsr<usize, Register, PMPCFG2>§pmpcfg3: ReadWriteRiscvCsr<usize, Register, PMPCFG3>§pmpcfg4: ReadWriteRiscvCsr<usize, Register, PMPCFG4>§pmpcfg5: ReadWriteRiscvCsr<usize, Register, PMPCFG5>§pmpcfg6: ReadWriteRiscvCsr<usize, Register, PMPCFG6>§pmpcfg7: ReadWriteRiscvCsr<usize, Register, PMPCFG7>§pmpcfg8: ReadWriteRiscvCsr<usize, Register, PMPCFG8>§pmpcfg9: ReadWriteRiscvCsr<usize, Register, PMPCFG9>§pmpcfg10: ReadWriteRiscvCsr<usize, Register, PMPCFG10>§pmpcfg11: ReadWriteRiscvCsr<usize, Register, PMPCFG11>§pmpcfg12: ReadWriteRiscvCsr<usize, Register, PMPCFG12>§pmpcfg13: ReadWriteRiscvCsr<usize, Register, PMPCFG13>§pmpcfg14: ReadWriteRiscvCsr<usize, Register, PMPCFG14>§pmpcfg15: ReadWriteRiscvCsr<usize, Register, PMPCFG15>§pmpaddr0: ReadWriteRiscvCsr<usize, Register, PMPADDR0>§pmpaddr1: ReadWriteRiscvCsr<usize, Register, PMPADDR1>§pmpaddr2: ReadWriteRiscvCsr<usize, Register, PMPADDR2>§pmpaddr3: ReadWriteRiscvCsr<usize, Register, PMPADDR3>§pmpaddr4: ReadWriteRiscvCsr<usize, Register, PMPADDR4>§pmpaddr5: ReadWriteRiscvCsr<usize, Register, PMPADDR5>§pmpaddr6: ReadWriteRiscvCsr<usize, Register, PMPADDR6>§pmpaddr7: ReadWriteRiscvCsr<usize, Register, PMPADDR7>§pmpaddr8: ReadWriteRiscvCsr<usize, Register, PMPADDR8>§pmpaddr9: ReadWriteRiscvCsr<usize, Register, PMPADDR9>§pmpaddr10: ReadWriteRiscvCsr<usize, Register, PMPADDR10>§pmpaddr11: ReadWriteRiscvCsr<usize, Register, PMPADDR11>§pmpaddr12: ReadWriteRiscvCsr<usize, Register, PMPADDR12>§pmpaddr13: ReadWriteRiscvCsr<usize, Register, PMPADDR13>§pmpaddr14: ReadWriteRiscvCsr<usize, Register, PMPADDR14>§pmpaddr15: ReadWriteRiscvCsr<usize, Register, PMPADDR15>§pmpaddr16: ReadWriteRiscvCsr<usize, Register, PMPADDR16>§pmpaddr17: ReadWriteRiscvCsr<usize, Register, PMPADDR17>§pmpaddr18: ReadWriteRiscvCsr<usize, Register, PMPADDR18>§pmpaddr19: ReadWriteRiscvCsr<usize, Register, PMPADDR19>§pmpaddr20: ReadWriteRiscvCsr<usize, Register, PMPADDR20>§pmpaddr21: ReadWriteRiscvCsr<usize, Register, PMPADDR21>§pmpaddr22: ReadWriteRiscvCsr<usize, Register, PMPADDR22>§pmpaddr23: ReadWriteRiscvCsr<usize, Register, PMPADDR23>§pmpaddr24: ReadWriteRiscvCsr<usize, Register, PMPADDR24>§pmpaddr25: ReadWriteRiscvCsr<usize, Register, PMPADDR25>§pmpaddr26: ReadWriteRiscvCsr<usize, Register, PMPADDR26>§pmpaddr27: ReadWriteRiscvCsr<usize, Register, PMPADDR27>§pmpaddr28: ReadWriteRiscvCsr<usize, Register, PMPADDR28>§pmpaddr29: ReadWriteRiscvCsr<usize, Register, PMPADDR29>§pmpaddr30: ReadWriteRiscvCsr<usize, Register, PMPADDR30>§pmpaddr31: ReadWriteRiscvCsr<usize, Register, PMPADDR31>§pmpaddr32: ReadWriteRiscvCsr<usize, Register, PMPADDR32>§pmpaddr33: ReadWriteRiscvCsr<usize, Register, PMPADDR33>§pmpaddr34: ReadWriteRiscvCsr<usize, Register, PMPADDR34>§pmpaddr35: ReadWriteRiscvCsr<usize, Register, PMPADDR35>§pmpaddr36: ReadWriteRiscvCsr<usize, Register, PMPADDR36>§pmpaddr37: ReadWriteRiscvCsr<usize, Register, PMPADDR37>§pmpaddr38: ReadWriteRiscvCsr<usize, Register, PMPADDR38>§pmpaddr39: ReadWriteRiscvCsr<usize, Register, PMPADDR39>§pmpaddr40: ReadWriteRiscvCsr<usize, Register, PMPADDR40>§pmpaddr41: ReadWriteRiscvCsr<usize, Register, PMPADDR41>§pmpaddr42: ReadWriteRiscvCsr<usize, Register, PMPADDR42>§pmpaddr43: ReadWriteRiscvCsr<usize, Register, PMPADDR43>§pmpaddr44: ReadWriteRiscvCsr<usize, Register, PMPADDR44>§pmpaddr45: ReadWriteRiscvCsr<usize, Register, PMPADDR45>§pmpaddr46: ReadWriteRiscvCsr<usize, Register, PMPADDR46>§pmpaddr47: ReadWriteRiscvCsr<usize, Register, PMPADDR47>§pmpaddr48: ReadWriteRiscvCsr<usize, Register, PMPADDR48>§pmpaddr49: ReadWriteRiscvCsr<usize, Register, PMPADDR49>§pmpaddr50: ReadWriteRiscvCsr<usize, Register, PMPADDR50>§pmpaddr51: ReadWriteRiscvCsr<usize, Register, PMPADDR51>§pmpaddr52: ReadWriteRiscvCsr<usize, Register, PMPADDR52>§pmpaddr53: ReadWriteRiscvCsr<usize, Register, PMPADDR53>§pmpaddr54: ReadWriteRiscvCsr<usize, Register, PMPADDR54>§pmpaddr55: ReadWriteRiscvCsr<usize, Register, PMPADDR55>§pmpaddr56: ReadWriteRiscvCsr<usize, Register, PMPADDR56>§pmpaddr57: ReadWriteRiscvCsr<usize, Register, PMPADDR57>§pmpaddr58: ReadWriteRiscvCsr<usize, Register, PMPADDR58>§pmpaddr59: ReadWriteRiscvCsr<usize, Register, PMPADDR59>§pmpaddr60: ReadWriteRiscvCsr<usize, Register, PMPADDR60>§pmpaddr61: ReadWriteRiscvCsr<usize, Register, PMPADDR61>§pmpaddr62: ReadWriteRiscvCsr<usize, Register, PMPADDR62>§pmpaddr63: ReadWriteRiscvCsr<usize, Register, PMPADDR63>§mie: ReadWriteRiscvCsr<usize, Register, MIE>§mscratch: ReadWriteRiscvCsr<usize, Register, MSCRATCH>§mepc: ReadWriteRiscvCsr<usize, Register, MEPC>§mcause: ReadWriteRiscvCsr<usize, Register, MCAUSE>§mtval: ReadWriteRiscvCsr<usize, Register, MTVAL>§mip: ReadWriteRiscvCsr<usize, Register, MIP>§mtvec: ReadWriteRiscvCsr<usize, Register, MTVEC>§mstatus: ReadWriteRiscvCsr<usize, Register, MSTATUS>§mseccfg: ReadWriteRiscvCsr<usize, Register, MSECCFG>§mseccfgh: ReadWriteRiscvCsr<usize, Register, MSECCFGH>§utvec: ReadWriteRiscvCsr<usize, Register, UTVEC>§stvec: ReadWriteRiscvCsr<usize, Register, STVEC>

Implementations§

Source§

impl CSR

Source

pub fn reset_cycle_counter(&self)

Source

pub fn read_cycle_counter(&self) -> u64

Source

pub fn pmpconfig_get(&self, index: usize) -> usize

Source

pub fn pmpconfig_set(&self, index: usize, value: usize)

Source

pub fn pmpconfig_modify(&self, index: usize, field: FieldValue<usize, Register>)

Source

pub fn pmpaddr_set(&self, index: usize, value: usize)

Source

pub fn pmpaddr_get(&self, index: usize) -> usize

Auto Trait Implementations§

§

impl Freeze for CSR

§

impl RefUnwindSafe for CSR

§

impl Send for CSR

§

impl Sync for CSR

§

impl Unpin for CSR

§

impl UnwindSafe for CSR

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<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.