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
impl CSR
pub fn reset_cycle_counter(&self)
pub fn read_cycle_counter(&self) -> u64
pub fn pmpconfig_get(&self, index: usize) -> usize
pub fn pmpconfig_set(&self, index: usize, value: usize)
pub fn pmpconfig_modify(&self, index: usize, field: FieldValue<usize, Register>)
pub fn pmpaddr_set(&self, index: usize, value: usize)
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more