diff options
author | liangzhen <zhen.liang@spacemit.com> | 2023-09-14 10:25:28 +0800 |
---|---|---|
committer | liangzhen <zhen.liang@spacemit.com> | 2023-10-10 09:50:53 +0800 |
commit | ecf4fde3b3ddf0fc3e8a8069d96e4d5c64cf54bf (patch) | |
tree | 5fbab368cbc4989f6b2f9adc5d1b597b19365d1f | |
parent | d4eaa5bd6674b51d3b9b24913713c4638e99cdd9 (diff) | |
download | riscv-tests-ecf4fde3b3ddf0fc3e8a8069d96e4d5c64cf54bf.zip riscv-tests-ecf4fde3b3ddf0fc3e8a8069d96e4d5c64cf54bf.tar.gz riscv-tests-ecf4fde3b3ddf0fc3e8a8069d96e4d5c64cf54bf.tar.bz2 |
Disable timer interrupt to fix some bugs
Signed-off-by: liangzhen <zhen.liang@spacemit.com>
-rwxr-xr-x | debug/gdbserver.py | 6 | ||||
-rw-r--r-- | debug/testlib.py | 7 |
2 files changed, 13 insertions, 0 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py index 5a2ba2a..31523b1 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 435b41b..6f470a0 100644 --- a/debug/testlib.py +++ b/debug/testlib.py @@ -1411,6 +1411,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") |