Struct CSR

Source
pub struct CSR {
Show 96 fields pub minstreth: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#0}>, pub minstret: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#1}>, pub mcycleh: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#2}>, pub mcycle: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#3}>, pub pmpcfg0: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#4}>, pub pmpcfg1: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#5}>, pub pmpcfg2: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#6}>, pub pmpcfg3: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#7}>, pub pmpcfg4: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#8}>, pub pmpcfg5: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#9}>, pub pmpcfg6: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#10}>, pub pmpcfg7: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#11}>, pub pmpcfg8: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#12}>, pub pmpcfg9: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#13}>, pub pmpcfg10: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#14}>, pub pmpcfg11: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#15}>, pub pmpcfg12: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#16}>, pub pmpcfg13: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#17}>, pub pmpcfg14: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#18}>, pub pmpcfg15: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#19}>, pub pmpaddr0: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#20}>, pub pmpaddr1: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#21}>, pub pmpaddr2: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#22}>, pub pmpaddr3: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#23}>, pub pmpaddr4: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#24}>, pub pmpaddr5: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#25}>, pub pmpaddr6: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#26}>, pub pmpaddr7: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#27}>, pub pmpaddr8: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#28}>, pub pmpaddr9: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#29}>, pub pmpaddr10: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#30}>, pub pmpaddr11: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#31}>, pub pmpaddr12: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#32}>, pub pmpaddr13: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#33}>, pub pmpaddr14: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#34}>, pub pmpaddr15: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#35}>, pub pmpaddr16: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#36}>, pub pmpaddr17: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#37}>, pub pmpaddr18: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#38}>, pub pmpaddr19: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#39}>, pub pmpaddr20: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#40}>, pub pmpaddr21: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#41}>, pub pmpaddr22: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#42}>, pub pmpaddr23: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#43}>, pub pmpaddr24: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#44}>, pub pmpaddr25: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#45}>, pub pmpaddr26: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#46}>, pub pmpaddr27: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#47}>, pub pmpaddr28: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#48}>, pub pmpaddr29: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#49}>, pub pmpaddr30: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#50}>, pub pmpaddr31: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#51}>, pub pmpaddr32: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#52}>, pub pmpaddr33: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#53}>, pub pmpaddr34: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#54}>, pub pmpaddr35: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#55}>, pub pmpaddr36: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#56}>, pub pmpaddr37: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#57}>, pub pmpaddr38: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#58}>, pub pmpaddr39: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#59}>, pub pmpaddr40: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#60}>, pub pmpaddr41: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#61}>, pub pmpaddr42: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#62}>, pub pmpaddr43: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#63}>, pub pmpaddr44: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#64}>, pub pmpaddr45: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#65}>, pub pmpaddr46: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#66}>, pub pmpaddr47: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#67}>, pub pmpaddr48: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#68}>, pub pmpaddr49: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#69}>, pub pmpaddr50: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#70}>, pub pmpaddr51: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#71}>, pub pmpaddr52: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#72}>, pub pmpaddr53: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#73}>, pub pmpaddr54: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#74}>, pub pmpaddr55: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#75}>, pub pmpaddr56: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#76}>, pub pmpaddr57: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#77}>, pub pmpaddr58: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#78}>, pub pmpaddr59: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#79}>, pub pmpaddr60: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#80}>, pub pmpaddr61: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#81}>, pub pmpaddr62: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#82}>, pub pmpaddr63: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#83}>, pub mie: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#84}>, pub mscratch: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#85}>, pub mepc: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#86}>, pub mcause: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#87}>, pub mtval: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#88}>, pub mip: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#89}>, pub mtvec: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#90}>, pub mstatus: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#91}>, pub mseccfg: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#92}>, pub mseccfgh: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#93}>, pub utvec: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#94}>, pub stvec: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#95}>,
}

Fields§

§minstreth: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#0}>§minstret: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#1}>§mcycleh: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#2}>§mcycle: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#3}>§pmpcfg0: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#4}>§pmpcfg1: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#5}>§pmpcfg2: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#6}>§pmpcfg3: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#7}>§pmpcfg4: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#8}>§pmpcfg5: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#9}>§pmpcfg6: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#10}>§pmpcfg7: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#11}>§pmpcfg8: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#12}>§pmpcfg9: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#13}>§pmpcfg10: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#14}>§pmpcfg11: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#15}>§pmpcfg12: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#16}>§pmpcfg13: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#17}>§pmpcfg14: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#18}>§pmpcfg15: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#19}>§pmpaddr0: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#20}>§pmpaddr1: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#21}>§pmpaddr2: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#22}>§pmpaddr3: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#23}>§pmpaddr4: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#24}>§pmpaddr5: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#25}>§pmpaddr6: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#26}>§pmpaddr7: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#27}>§pmpaddr8: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#28}>§pmpaddr9: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#29}>§pmpaddr10: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#30}>§pmpaddr11: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#31}>§pmpaddr12: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#32}>§pmpaddr13: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#33}>§pmpaddr14: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#34}>§pmpaddr15: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#35}>§pmpaddr16: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#36}>§pmpaddr17: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#37}>§pmpaddr18: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#38}>§pmpaddr19: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#39}>§pmpaddr20: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#40}>§pmpaddr21: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#41}>§pmpaddr22: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#42}>§pmpaddr23: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#43}>§pmpaddr24: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#44}>§pmpaddr25: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#45}>§pmpaddr26: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#46}>§pmpaddr27: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#47}>§pmpaddr28: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#48}>§pmpaddr29: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#49}>§pmpaddr30: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#50}>§pmpaddr31: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#51}>§pmpaddr32: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#52}>§pmpaddr33: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#53}>§pmpaddr34: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#54}>§pmpaddr35: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#55}>§pmpaddr36: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#56}>§pmpaddr37: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#57}>§pmpaddr38: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#58}>§pmpaddr39: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#59}>§pmpaddr40: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#60}>§pmpaddr41: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#61}>§pmpaddr42: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#62}>§pmpaddr43: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#63}>§pmpaddr44: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#64}>§pmpaddr45: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#65}>§pmpaddr46: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#66}>§pmpaddr47: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#67}>§pmpaddr48: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#68}>§pmpaddr49: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#69}>§pmpaddr50: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#70}>§pmpaddr51: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#71}>§pmpaddr52: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#72}>§pmpaddr53: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#73}>§pmpaddr54: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#74}>§pmpaddr55: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#75}>§pmpaddr56: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#76}>§pmpaddr57: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#77}>§pmpaddr58: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#78}>§pmpaddr59: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#79}>§pmpaddr60: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#80}>§pmpaddr61: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#81}>§pmpaddr62: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#82}>§pmpaddr63: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#83}>§mie: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#84}>§mscratch: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#85}>§mepc: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#86}>§mcause: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#87}>§mtval: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#88}>§mip: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#89}>§mtvec: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#90}>§mstatus: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#91}>§mseccfg: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#92}>§mseccfgh: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#93}>§utvec: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#94}>§stvec: ReadWriteRiscvCsr<usize, Register, riscv::::csr::CSR::{constant#95}>

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.