projects
/
riscv-tests.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add back code to clean up triggers in entry.S
[riscv-tests.git]
/
debug
/
gdbserver.py
diff --git
a/debug/gdbserver.py
b/debug/gdbserver.py
index f6c61c3eae7877d9fa99062ebbf947c238832e54..80985fd8022dccdd83f8de6008168cf0d577a64d 100755
(executable)
--- a/
debug/gdbserver.py
+++ b/
debug/gdbserver.py
@@
-329,6
+329,12
@@
class Hwbp1(DebugTest):
if self.target.instruction_hardware_breakpoint_count < 1:
return 'not_applicable'
if self.target.instruction_hardware_breakpoint_count < 1:
return 'not_applicable'
+ if not self.target.honors_tdata1_hmode:
+ # Run to main before setting the breakpoint, because startup code
+ # will otherwise clear the trigger that we set.
+ self.gdb.b("main")
+ self.gdb.c()
+
self.gdb.hbreak("rot13")
# The breakpoint should be hit exactly 2 times.
for _ in range(2):
self.gdb.hbreak("rot13")
# The breakpoint should be hit exactly 2 times.
for _ in range(2):
@@
-560,6
+566,9
@@
class TriggerStoreAddressInstant(TriggerTest):
assertEqual(self.gdb.p("$a0"), self.gdb.p("&data"))
class TriggerDmode(TriggerTest):
assertEqual(self.gdb.p("$a0"), self.gdb.p("&data"))
class TriggerDmode(TriggerTest):
+ def early_applicable(self):
+ return self.target.honors_tdata1_hmode
+
def check_triggers(self, tdata1_lsbs, tdata2):
dmode = 1 << (self.target.xlen-5)
def check_triggers(self, tdata1_lsbs, tdata2):
dmode = 1 << (self.target.xlen-5)