Skip to content

Commit dfee685

Browse files
Fix mask, adapt macros.rs to use current patterns
1 parent 2d20af5 commit dfee685

File tree

2 files changed

+3
-9
lines changed

2 files changed

+3
-9
lines changed

riscv/src/register/macros.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,15 +1042,9 @@ macro_rules! test_csr_field {
10421042
}};
10431043

10441044
// test a multi-bit bitfield for read-only CSR (must come before enum pattern)
1045-
($reg:ident, $field:ident: [$start:literal, $end:literal]) => {{
1045+
($reg:ident, $field:ident: [$start:expr, $end:expr]) => {{
10461046
let bits = $reg.bits();
1047-
1048-
let shift = $end - $start + 1;
1049-
let mask = (1usize << shift) - 1;
1050-
1051-
let exp_val = (bits >> $start) & mask;
1052-
1053-
// Test field extraction matches expected value
1047+
let exp_val = $crate::bits::bf_extract(bits, $start, $end - $start + 1);
10541048
assert_eq!($reg.$field(), exp_val);
10551049
}};
10561050

riscv/src/register/mtopi.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
read_only_csr! {
2525
/// Machine Top Priority Interrupt Register
2626
Mtopi: 0x7C0,
27-
mask: 0x0FFF_FFFF,
27+
mask: 0x0FFF_00FF,
2828
}
2929

3030
read_only_csr_field! {

0 commit comments

Comments
 (0)