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 @@ -1649,14 +1649,16 @@ def setup(self):
16491649 # pylint: disable=attribute-defined-outside-init
16501650 self .gdb .load ()
16511651
1652- misa = self .hart .misa
1652+ # It may be affected by reset halt
1653+ misa = self .gdb .p (f"$misa=0x{ self .hart .misa :x} " )
16531654 self .supported = set ()
16541655 if misa & (1 << 20 ):
16551656 self .supported .add (0 )
16561657 if misa & (1 << 18 ):
16571658 self .supported .add (1 )
16581659 if misa & (1 << 7 ):
1659- self .supported .add (2 )
1660+ self .supported .add (4 )
1661+ self .supported .add (5 )
16601662 self .supported .add (3 )
16611663
16621664 self .disable_pmp ()
@@ -1672,14 +1674,17 @@ def setup(self):
16721674class PrivRw (PrivTest ):
16731675 """Test reading/writing priv."""
16741676 def test (self ):
1675- self .write_nop_program (4 )
1676- for privilege in range (4 ):
1677+ privilege_limit = len (self .supported )+ 1
1678+ self .write_nop_program (privilege_limit )
1679+ for privilege in range (privilege_limit ):
16771680 self .gdb .p (f"$priv={ privilege } " )
16781681 self .gdb .stepi ()
16791682 actual = self .gdb .p ("$priv" )
16801683 assertIn (actual , self .supported )
16811684 if privilege in self .supported :
16821685 assertEqual (actual , privilege )
1686+ # Restore to machine mode
1687+ self .gdb .p ("$priv=3" )
16831688
16841689class PrivChange (PrivTest ):
16851690 """Test that the core's privilege level actually changes when the debugger
You can’t perform that action at this time.
0 commit comments