debug: need to clear satp before changing priv
[riscv-tests.git] / debug / gdbserver.py
index d085e2ef60df5a3a2bc2fc1efb547cb4a9fc69ae..af9a33456b5855c348f2fa28f209c2d276f6a9a4 100755 (executable)
@@ -881,6 +881,13 @@ class PrivRw(PrivTest):
             # PMP registers are optional
             pass
 
+        # Ensure Virtual Memory is disabled if applicable (SATP register is not reset)
+        try:
+           self.gdb.p("$satp=0")
+        except testlib.CouldNotFetch:
+           # SATP only exists if you have S mode.
+           pass
+        
         # Leave the PC at _start, where the first 4 instructions should be
         # legal in any mode.
         for privilege in range(4):