File tree Expand file tree Collapse file tree 1 file changed +9
-4
lines changed Expand file tree Collapse file tree 1 file changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -1575,14 +1575,16 @@ def setup(self):
15751575 # pylint: disable=attribute-defined-outside-init
15761576 self .gdb .load ()
15771577
1578- misa = self .hart .misa
1578+ # It may be affected by reset halt
1579+ misa = self .gdb .p (f"$misa=0x{ self .hart .misa :x} " )
15791580 self .supported = set ()
15801581 if misa & (1 << 20 ):
15811582 self .supported .add (0 )
15821583 if misa & (1 << 18 ):
15831584 self .supported .add (1 )
15841585 if misa & (1 << 7 ):
1585- self .supported .add (2 )
1586+ self .supported .add (4 )
1587+ self .supported .add (5 )
15861588 self .supported .add (3 )
15871589
15881590 self .disable_pmp ()
@@ -1598,14 +1600,17 @@ def setup(self):
15981600class PrivRw (PrivTest ):
15991601 """Test reading/writing priv."""
16001602 def test (self ):
1601- self .write_nop_program (4 )
1602- for privilege in range (4 ):
1603+ privilege_limit = len (self .supported )+ 1
1604+ self .write_nop_program (privilege_limit )
1605+ for privilege in range (privilege_limit ):
16031606 self .gdb .p (f"$priv={ privilege } " )
16041607 self .gdb .stepi ()
16051608 actual = self .gdb .p ("$priv" )
16061609 assertIn (actual , self .supported )
16071610 if privilege in self .supported :
16081611 assertEqual (actual , privilege )
1612+ # Restore to machine mode
1613+ self .gdb .p (f"$priv=3" )
16091614
16101615class PrivChange (PrivTest ):
16111616 """Test that the core's privilege level actually changes when the debugger
You can’t perform that action at this time.
0 commit comments