aboutsummaryrefslogtreecommitdiffstats
path: root/os/kernel/src/chsys.c
diff options
context:
space:
mode:
authorbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-08-23 08:11:23 +0000
committerbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-08-23 08:11:23 +0000
commit4ec82f62c18894d92bafc6c6f98784650106373d (patch)
treea0cec5585dff0434608241c373b9ad30af5ae869 /os/kernel/src/chsys.c
parentc877f5bfcc5301b441c9b13e8c32d83e9df04f37 (diff)
parent2a494cb534dbe3535a9bf4c61dfbc8b6c9e750be (diff)
downloadChibiOS-4ec82f62c18894d92bafc6c6f98784650106373d.tar.gz
ChibiOS-4ec82f62c18894d92bafc6c6f98784650106373d.tar.bz2
ChibiOS-4ec82f62c18894d92bafc6c6f98784650106373d.zip
I2C. 1 - Merge code from trunk. 2 - Fix driver problems detected by the CH_DBG_SYSTEM_STATE_CHECK
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/i2c_dev@3249 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/kernel/src/chsys.c')
-rw-r--r--os/kernel/src/chsys.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/os/kernel/src/chsys.c b/os/kernel/src/chsys.c
index 4c8cd708d..866ee81a8 100644
--- a/os/kernel/src/chsys.c
+++ b/os/kernel/src/chsys.c
@@ -98,6 +98,8 @@ void chSysInit(void) {
setcurrp(_thread_init(&mainthread, NORMALPRIO));
currp->p_state = THD_STATE_CURRENT;
#if CH_DBG_ENABLE_STACK_CHECK
+ /* This is a special case because the main thread Thread structure is not
+ adjacent to its stack area.*/
currp->p_stklimit = &__main_thread_stack_base__;
#endif
chSysEnable();
@@ -126,6 +128,8 @@ void chSysInit(void) {
*/
void chSysTimerHandlerI(void) {
+ chDbgCheckClassI();
+
#if CH_TIME_QUANTUM > 0
/* Running thread has not used up quantum yet? */
if (rlist.r_preempt > 0)
@@ -141,24 +145,4 @@ void chSysTimerHandlerI(void) {
#endif
}
-#if CH_USE_NESTED_LOCKS && !CH_OPTIMIZE_SPEED
-void chSysLock(void) {
-
- chDbgAssert(currp->p_locks >= 0,
- "chSysLock(), #1",
- "negative nesting counter");
- if (currp->p_locks++ == 0)
- port_lock();
-}
-
-void chSysUnlock(void) {
-
- chDbgAssert(currp->p_locks > 0,
- "chSysUnlock(), #1",
- "non-positive nesting counter");
- if (--currp->p_locks == 0)
- port_unlock();
-}
-#endif /* CH_USE_NESTED_LOCKS && !CH_OPTIMIZE_SPEED */
-
/** @} */