git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1759 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2010-03-19 20:39:23 +00:00
parent 295f370672
commit e55b9dfdcb
4 changed files with 8 additions and 9 deletions

View File

@ -137,7 +137,7 @@ typedef struct {
#if !CH_DBG_ENABLE_TRACE
/* When the trace feature is disabled this function is replaced by an empty
macro.*/
#define chDbgTrace(otp, ntp) {}
#define chDbgTrace(otp) {}
#endif
#if !defined(__DOXYGEN__)
@ -147,7 +147,7 @@ extern "C" {
#if CH_DBG_ENABLE_TRACE
extern TraceBuffer trace_buffer;
void trace_init(void);
void chDbgTrace(Thread *ntp, Thread *otp);
void chDbgTrace(Thread *otp);
#endif
#if CH_DBG_ENABLE_ASSERTS || CH_DBG_ENABLE_CHECKS || CH_DBG_ENABLE_STACK_CHECK
extern char *panic_msg;

View File

@ -50,15 +50,14 @@ void trace_init(void) {
/**
* @brief Inserts in the circular debug trace buffer a context switch record.
*
* @param[in] ntp the thread to be switched in
* @param[in] otp the thread being switched out
*/
void chDbgTrace(Thread *ntp, Thread *otp) {
void chDbgTrace(Thread *otp) {
trace_buffer.tb_ptr->cse_wtobjp = otp->p_u.wtobjp;
trace_buffer.tb_ptr->cse_time = chTimeNow();
trace_buffer.tb_ptr->cse_state = otp->p_state;
trace_buffer.tb_ptr->cse_tid = (unsigned)ntp >> 4;
trace_buffer.tb_ptr->cse_tid = (unsigned)currp >> 6;
if (++trace_buffer.tb_ptr >= &trace_buffer.tb_buffer[TRACE_BUFFER_SIZE])
trace_buffer.tb_ptr = &trace_buffer.tb_buffer[0];
}

View File

@ -101,7 +101,7 @@ void chSchGoSleepS(tstate_t newstate) {
#endif
setcurrp(fifo_remove(&rlist.r_queue));
currp->p_state = THD_STATE_CURRENT;
chDbgTrace(currp, otp);
chDbgTrace(otp);
chSysSwitchI(currp, otp);
}
#endif /* !defined(PORT_OPTIMIZED_GOSLEEPS) */
@ -199,7 +199,7 @@ void chSchWakeupS(Thread *ntp, msg_t msg) {
#endif
setcurrp(ntp);
ntp->p_state = THD_STATE_CURRENT;
chDbgTrace(ntp, otp);
chDbgTrace(otp);
chSysSwitchI(ntp, otp);
}
}
@ -222,7 +222,7 @@ void chSchDoRescheduleI(void) {
setcurrp(fifo_remove(&rlist.r_queue));
currp->p_state = THD_STATE_CURRENT;
chSchReadyI(otp);
chDbgTrace(currp, otp);
chDbgTrace(otp);
chSysSwitchI(currp, otp);
}
#endif /* !defined(PORT_OPTIMIZED_DORESCHEDULEI) */

View File

@ -160,7 +160,7 @@ void PendSVVector(void) {
/* Set the round-robin time quantum.*/
rlist.r_preempt = CH_TIME_QUANTUM;
#endif
chDbgTrace(ntp, otp);
chDbgTrace(otp);
sp_thd = ntp->p_ctx.r13;
POP_CONTEXT(sp_thd);