summaryrefslogtreecommitdiffstats
path: root/cpukit/libdebugger/rtems-debugger-target.h
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2022-02-22 16:01:33 -0600
committerJoel Sherrill <joel@rtems.org>2022-02-23 08:35:45 -0600
commit16d40ce7ff59c1b75b922e81a9b829ae19c37ff3 (patch)
treeb658571e075a9f7e5cd69224c57349ba8d047082 /cpukit/libdebugger/rtems-debugger-target.h
parentmicroblaze: Decouple exceptions from interrupts (diff)
downloadrtems-16d40ce7ff59c1b75b922e81a9b829ae19c37ff3.tar.bz2
cpukit/libdebugger: Avoid cascade for interrupts
This updates behavior of libdebugger to handle debug exceptions in interrupt context by temporarily removing a software breakpoint, stepping, and then resuming afterward.
Diffstat (limited to 'cpukit/libdebugger/rtems-debugger-target.h')
-rw-r--r--cpukit/libdebugger/rtems-debugger-target.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpukit/libdebugger/rtems-debugger-target.h b/cpukit/libdebugger/rtems-debugger-target.h
index 7836f93bd6..3f6ceac80b 100644
--- a/cpukit/libdebugger/rtems-debugger-target.h
+++ b/cpukit/libdebugger/rtems-debugger-target.h
@@ -222,6 +222,11 @@ extern int rtems_debugger_target_swbreak_insert(void);
extern int rtems_debugger_target_swbreak_remove(void);
/**
+ * Determine whether a software breakpoint is configured for the given address.
+ */
+extern bool rtems_debugger_target_swbreak_is_configured( uintptr_t addr );
+
+/**
* Insert hardware breakpoints into the hardware.
*/
extern int rtems_debugger_target_hwbreak_insert(void);