aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdebug/gdbserver.py6
-rw-r--r--debug/testlib.py7
2 files changed, 13 insertions, 0 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py
index 23515a3..3a6f932 100755
--- a/debug/gdbserver.py
+++ b/debug/gdbserver.py
@@ -1039,8 +1039,10 @@ class InterruptTest(GdbSingleHartTest):
local = self.gdb.p("local")
if interrupt_count > 1000 and \
local > 1000:
+ self.disable_timer()
return
+ self.disable_timer()
assertGreater(interrupt_count, 1000)
assertGreater(local, 1000)
@@ -1191,6 +1193,8 @@ class MulticoreRunAllHaltOne(GdbTest):
time.sleep(1)
self.gdb.p("buf", fmt="")
+ self.disable_timer(interrupt=True)
+
class MulticoreRtosSwitchActiveHartTest(GdbTest):
compile_args = ("programs/multicore.c", "-DMULTICORE")
@@ -1220,6 +1224,8 @@ class MulticoreRtosSwitchActiveHartTest(GdbTest):
assertIn("set_trap_handler", output)
assertNotIn("received signal SIGTRAP", output)
+ self.disable_timer()
+
class SmpSimultaneousRunHalt(GdbTest):
compile_args = ("programs/run_halt_timing.S", "-DMULTICORE")
diff --git a/debug/testlib.py b/debug/testlib.py
index 5303f84..f36965f 100644
--- a/debug/testlib.py
+++ b/debug/testlib.py
@@ -1448,6 +1448,13 @@ class GdbTest(BaseTest):
# PMP registers are optional
pass
+ def disable_timer(self, interrupt=False):
+ for hart in self.target.harts:
+ self.gdb.select_hart(hart)
+ if interrupt:
+ self.gdb.interrupt()
+ self.gdb.p("$mie=$mie & ~0x80")
+
def exit(self, expected_result=10):
self.gdb.command("delete")
self.gdb.b("_exit")