summaryrefslogtreecommitdiffstats
path: root/sys/arm/include
diff options
context:
space:
mode:
authorzbb <zbb@FreeBSD.org>2016-05-29 17:35:38 +0000
committerzbb <zbb@FreeBSD.org>2016-05-29 17:35:38 +0000
commit43ac6ab3a1231197b63e03c06ccbad7157083fde (patch)
tree0169ca4632d3cfa823f61326c02a8420ce23a2ec /sys/arm/include
parent041ba1ed245d03101f7169a2e92a28f069e9fd28 (diff)
downloadFreeBSD-src-43ac6ab3a1231197b63e03c06ccbad7157083fde.zip
FreeBSD-src-43ac6ab3a1231197b63e03c06ccbad7157083fde.tar.gz
Improve ARM debug_monitor for SMP machines
- Reset debug architecture and enable monitor for secondary CPUs in init_secondary() rather than when configuring watchpoint, etc. - Disable HW debugging capabilities when one of the CPU cores fails to set up. - Use dbg_capable() in a more atomic manner to avoid any mismatch between CPUs. Differential Revision: https://reviews.freebsd.org/D6009
Diffstat (limited to 'sys/arm/include')
-rw-r--r--sys/arm/include/debug_monitor.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/arm/include/debug_monitor.h b/sys/arm/include/debug_monitor.h
index 776d344..3656e9a 100644
--- a/sys/arm/include/debug_monitor.h
+++ b/sys/arm/include/debug_monitor.h
@@ -45,6 +45,7 @@ enum dbg_access_t {
#if __ARM_ARCH >= 6
void dbg_monitor_init(void);
+void dbg_monitor_init_secondary(void);
void dbg_show_watchpoint(void);
int dbg_setup_watchpoint(db_expr_t, db_expr_t, enum dbg_access_t);
int dbg_remove_watchpoint(db_expr_t, db_expr_t);
@@ -69,7 +70,10 @@ static __inline void
dbg_monitor_init(void)
{
}
-
+static __inline void
+dbg_monitor_init_secondary(void)
+{
+}
static __inline void
dbg_resume_dbreg(void)
{
OpenPOWER on IntegriCloud