aboutsummaryrefslogtreecommitdiff
path: root/debug/gdbserver.py
diff options
context:
space:
mode:
Diffstat (limited to 'debug/gdbserver.py')
-rwxr-xr-xdebug/gdbserver.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py
index ebc591c..2a97ccb 100755
--- a/debug/gdbserver.py
+++ b/debug/gdbserver.py
@@ -11,6 +11,7 @@ import os
import re
import itertools
+from datetime import datetime
import targets
import testlib
from testlib import assertEqual, assertNotEqual
@@ -1679,6 +1680,10 @@ class TranslateTest(GdbSingleHartTest):
assertEqual(0xdeadbeef, self.gdb.p("virtual[0]"))
assertEqual(0x55667788, self.gdb.p("virtual[1]"))
+ # disable mmu
+ self.gdb.p("$mstatus=$mstatus & ~0x20000")
+ self.gdb.p("$satp=0")
+
SATP_MODE_OFF = 0
SATP_MODE_SV32 = 1
SATP_MODE_SV39 = 8
@@ -2139,6 +2144,7 @@ class IcountTest(DebugTest):
main_post_csrr = self.gdb.p("&main_post_csrr")
assertEqual(self.gdb.p("$pc"), main_post_csrr)
+ self.gdb.command("delete")
self.gdb.command("monitor riscv icount clear")
# Execute 1 instruction.
@@ -2194,6 +2200,14 @@ def main():
module = sys.modules[__name__]
+ # initialize PRNG
+ selected_seed = parsed.seed
+ if parsed.seed is None:
+ selected_seed = int(datetime.now().timestamp())
+ print(f"PRNG seed for {target.name} is generated automatically")
+ print(f"PRNG seed for {target.name} is {selected_seed}")
+ random.seed(selected_seed)
+
return testlib.run_all_tests(module, target, parsed)
# TROUBLESHOOTING TIPS