#include <string.h> /* memset() */
-#if CONFIG_KERN_PREEMPT
-#include "preempt.h"
-#endif
/*
* The scheduer tracks ready processes by enqueuing them in the
proc->context.uc_stack.ss_sp = stack_base;
proc->context.uc_stack.ss_size = stack_size;
proc->context.uc_link = NULL;
- makecontext(&proc->context, entry, 0);
+ makecontext(&proc->context, (void (*)(void))proc_entry, 1, entry);
#else // !CONFIG_KERN_PREEMPT
/* Initialize process stack frame */
*/
void proc_exit(void)
{
- TRACE;
+ TRACEMSG("%p:%s", CurrentProcess, CurrentProcess->monitor.name);
#if CONFIG_KERN_MONITOR
monitor_remove(CurrentProcess);