Skip to content

Commit d65aabb

Browse files
committed
add cycle[h].rs, instret[h].rs, and mcounteren.rs modules
update mod.rs
1 parent 39ff09e commit d65aabb

File tree

6 files changed

+533
-22
lines changed

6 files changed

+533
-22
lines changed

src/register/cycle.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
//! cycle register
2+
//! Shadow of mcycle register that can be read in user mode
3+
//! must have mcounteren::cy bit enabled for user mode access
4+
5+
read_csr_as_usize!(0xC00, __read_cycle);
6+
read_composite_csr!(super::cycleh::read(), read());

src/register/cycleh.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
//! cycleh register
2+
//! Shadow of mcycleh register that can be read in user mode
3+
//! must have mcounteren::cy bit enabled for user mode access
4+
5+
read_csr_as_usize_rv32!(0xC80, __read_cycleh);

src/register/instret.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
//! instret register
2+
//! shadow of minstret register for user mode
3+
//! mcounteren::ir must be enabled to use in user mode
4+
5+
read_csr_as_usize!(0xC02, __read_instret);
6+
read_composite_csr!(super::instreth::read(), read());

src/register/instreth.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
//! instreth register
2+
//! shadow of minstreth register for user mode
3+
//! mcounteren::ir must be enabled to use in user mode
4+
5+
read_csr_as_usize!(0xC82, __read_instreth);

0 commit comments

Comments
 (0)