From c6914081835f10258d873af8526ae405ffe5b25c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 17 Jun 2012 06:53:49 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4283 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/kernel/include/chdebug.h | 7 +++++++ os/kernel/src/chdebug.c | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'os/kernel') diff --git a/os/kernel/include/chdebug.h b/os/kernel/include/chdebug.h index b899233e4..24dce243e 100644 --- a/os/kernel/include/chdebug.h +++ b/os/kernel/include/chdebug.h @@ -77,6 +77,8 @@ /*===========================================================================*/ #if !CH_DBG_SYSTEM_STATE_CHECK +#define dbg_enter_lock() +#define dbg_leave_lock() #define dbg_check_disable() #define dbg_check_suspend() #define dbg_check_enable() @@ -88,6 +90,9 @@ #define dbg_check_leave_isr() #define chDbgCheckClassI(); #define chDbgCheckClassS(); +#else +#define dbg_enter_lock() (dbg_lock_cnt = 1) +#define dbg_leave_lock() (dbg_lock_cnt = 0) #endif /*===========================================================================*/ @@ -213,6 +218,8 @@ extern char *dbg_panic_msg; extern "C" { #endif #if CH_DBG_SYSTEM_STATE_CHECK + extern cnt_t dbg_isr_cnt; + extern cnt_t dbg_lock_cnt; void dbg_check_disable(void); void dbg_check_suspend(void); void dbg_check_enable(void); diff --git a/os/kernel/src/chdebug.c b/os/kernel/src/chdebug.c index 8d38dcd6e..0bee1b4ea 100644 --- a/os/kernel/src/chdebug.c +++ b/os/kernel/src/chdebug.c @@ -108,7 +108,7 @@ void dbg_check_lock(void) { if ((dbg_isr_cnt != 0) || (dbg_lock_cnt != 0)) chDbgPanic("SV#4"); - dbg_lock_cnt = 1; + dbg_enter_lock(); } /** @@ -120,7 +120,7 @@ void dbg_check_unlock(void) { if ((dbg_isr_cnt != 0) || (dbg_lock_cnt <= 0)) chDbgPanic("SV#5"); - dbg_lock_cnt = 0; + dbg_leave_lock(); } /** @@ -132,7 +132,7 @@ void dbg_check_lock_from_isr(void) { if ((dbg_isr_cnt <= 0) || (dbg_lock_cnt != 0)) chDbgPanic("SV#6"); - dbg_lock_cnt = 1; + dbg_enter_lock(); } /** @@ -144,7 +144,7 @@ void dbg_check_unlock_from_isr(void) { if ((dbg_isr_cnt <= 0) || (dbg_lock_cnt <= 0)) chDbgPanic("SV#7"); - dbg_lock_cnt = 0; + dbg_leave_lock(); } /** -- cgit v1.2.3