Skip to main content

Csrs

Trait Csrs 

Source
pub trait Csrs<Reg>
where Reg: Register,
{ // Required methods fn read_csr(&self, csr_index: u16) -> Result<Reg::Type, CsrError>; fn write_csr( &mut self, csr_index: u16, value: Reg::Type, ) -> Result<(), CsrError>; // Provided method fn privilege_level(&self) -> PrivilegeLevel { ... } }
Expand description

CSRs (Control and Status Registers)

Required Methods§

Source

fn read_csr(&self, csr_index: u16) -> Result<Reg::Type, CsrError>

Reads register value

Source

fn write_csr( &mut self, csr_index: u16, value: Reg::Type, ) -> Result<(), CsrError>

Writes register value

Provided Methods§

Source

fn privilege_level(&self) -> PrivilegeLevel

Current privilege level

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<Reg, T> Csrs<Reg> for &mut T
where Reg: Register, T: Csrs<Reg>,

Source§

fn privilege_level(&self) -> PrivilegeLevel

Source§

fn read_csr(&self, csr_index: u16) -> Result<Reg::Type, CsrError>

Source§

fn write_csr( &mut self, csr_index: u16, value: Reg::Type, ) -> Result<(), CsrError>

Implementors§