aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMegan Wachs <megan@sifive.com>2018-04-27 16:52:43 -0700
committerGitHub <noreply@github.com>2018-04-27 16:52:43 -0700
commit65b4e2e93c7cee0a53143c661e1347363e6d6194 (patch)
tree950e792262543fe60f46adfccce5c3c27aae15e3
parentbfa3b7d34bca67435d91786a81c9df8963bcccae (diff)
downloadriscv-tests-debug-clear-satp.zip
riscv-tests-debug-clear-satp.tar.gz
riscv-tests-debug-clear-satp.tar.bz2
debug: need to clear satp before changing privdebug-clear-satp
ISA Manual does not require this register to be reset, and attempting to execute code with VM on when VM hasn't been set up is going to just lead to sadness.
-rwxr-xr-xdebug/gdbserver.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py
index d085e2e..af9a334 100755
--- a/debug/gdbserver.py
+++ b/debug/gdbserver.py
@@ -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):