diff options
author | Tim Newsome <tim@sifive.com> | 2022-12-01 11:47:25 -0800 |
---|---|---|
committer | Tim Newsome <tim@sifive.com> | 2023-01-06 11:38:15 -0800 |
commit | fc771ea11b3eea0b17ded6dbb9bacd574891567b (patch) | |
tree | cdd644cf32ff8f617b964ede45a4e8bbb3c3aa74 | |
parent | d244110a591307a648ce8eaa88018f5418524491 (diff) | |
download | riscv-tests-fc771ea11b3eea0b17ded6dbb9bacd574891567b.zip riscv-tests-fc771ea11b3eea0b17ded6dbb9bacd574891567b.tar.gz riscv-tests-fc771ea11b3eea0b17ded6dbb9bacd574891567b.tar.bz2 |
debug: Add Itrigger test.
-rwxr-xr-x | debug/gdbserver.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py index 1ffb15f..64554d3 100755 --- a/debug/gdbserver.py +++ b/debug/gdbserver.py @@ -1973,6 +1973,32 @@ class EtriggerTest(DebugTest): assertIn("breakpoint", output) assertIn("trap_entry", self.gdb.where()) +class ItriggerTest(GdbSingleHartTest): + compile_args = ("programs/interrupt.c",) + + def early_applicable(self): + return self.target.supports_clint_mtime + + def setup(self): + self.gdb.load() + + def test(self): + self.gdb.command(f"monitor targets {self.hart.id}") + output = self.gdb.command("monitor riscv itrigger set 0x80") + assertIn("Doesn't make sense", output) + output = self.gdb.command("monitor riscv itrigger set m 0") + assertIn("Doesn't make sense", output) + output = self.gdb.command("monitor riscv itrigger clear") + assertIn("No itrigger is set", output) + self.gdb.command("monitor riscv itrigger set m 0x80") + + self.gdb.c() + assertIn("trap_entry", self.gdb.where()) + + self.gdb.command("monitor riscv itrigger clear") + self.gdb.p("keep_running=0") + self.exit() + parsed = None def main(): parser = argparse.ArgumentParser( |