Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 395 → Rev 445

/shark/trunk/kernel/exchand.c
18,11 → 18,11
 
/**
------------
CVS : $Id: exchand.c,v 1.2 2003-05-01 19:40:52 pj Exp $
CVS : $Id: exchand.c,v 1.3 2004-02-10 17:50:03 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.2 $
Last update: $Date: 2003-05-01 19:40:52 $
Revision: $Revision: 1.3 $
Last update: $Date: 2004-02-10 17:50:03 $
------------
**/
 
46,6 → 46,8
*/
 
#include <kernel/kern.h>
#include <stdlib.h>
#include <tracer.h>
 
static int myflag;
static siginfo_t myinfo;
127,8 → 129,28
}
}
 
 
extern void *StartTracerBuffer; // Buffer Start 0
extern void *EndTracerBuffer; // Buffer End 4
extern void *LastBeforeEndTracerBuffer; //8
extern void *CurrentTracerBuffer; //The Actual Write Point For The Next Event 12
extern void *FirstTracerBuffer; //The First Valid Event 16
extern int TracerActive; //20
extern int TracerOutputType; //24
extern unsigned long long TracerEventsRecorded; //28
extern unsigned int TracerEventsPresent; //36
 
static void theend(void *arg)
{
 
#ifdef __NEW_TRACER__
void *save_tracer_pointer;
#endif
 
if (myflag) {
cprintf("S.Ha.R.K. Exception raised!!!\n");
cprintf("Time (s:ns) :%ld:%ld\n", mytime.tv_sec, mytime.tv_nsec);
137,6 → 159,27
cprintf("PID :%d (%s)\n", myinfo.si_task,
proc_table[myinfo.si_task].name);
cprintf("Avail time : %d\n", proc_table[myinfo.si_task].avail_time);
#ifdef __NEW_TRACER__
 
save_tracer_pointer = malloc(48);
*(void **)(save_tracer_pointer) = StartTracerBuffer; // Buffer Start 0
*(void **)(save_tracer_pointer+4) = EndTracerBuffer; // Buffer End 4
*(void **)(save_tracer_pointer+8) = LastBeforeEndTracerBuffer; //8
*(void **)(save_tracer_pointer+12) = CurrentTracerBuffer; //The Actual Write Point For The Next Event 12
*(void **)(save_tracer_pointer+16) = FirstTracerBuffer; //The First Valid Event 16
*(int *)(save_tracer_pointer+20) = 0; //20
*(int *)(save_tracer_pointer+24) = TRACER_UDP_OUTPUT; //24
*(unsigned long long *)(save_tracer_pointer+28) = TracerEventsRecorded; //28
*(unsigned int *)(save_tracer_pointer+36) = TracerEventsPresent; //36
 
cprintf("Dumper Magic Number = %u\n",(int)save_tracer_pointer);
 
#endif
 
}
if (myflag_shutdown) {
cprintf("\nShutdown message:\n%s\n", shutdown_message_buffer);
/shark/trunk/kernel/mem.c
18,11 → 18,11
 
/**
------------
CVS : $Id: mem.c,v 1.2 2003-11-12 17:28:20 giacomo Exp $
CVS : $Id: mem.c,v 1.3 2004-02-10 17:50:04 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.2 $
Last update: $Date: 2003-11-12 17:28:20 $
Revision: $Revision: 1.3 $
Last update: $Date: 2004-02-10 17:50:04 $
------------
 
Basic Memory Manager Functions:
78,8 → 78,6
lmm_add_region(&lmm, &region , (void*)0x01000000, 0xFEFFFFFF,
0 , 2);
 
// kern_printf("highsize:%d\n", highsize);
/* blocks of free memory */
if (lowsize)
lmm_add_free(&lmm, (void *)lowp, lowsize-1);
if (highsize)
/shark/trunk/kernel/modules/edf.c
20,11 → 20,11
 
/**
------------
CVS : $Id: edf.c,v 1.11 2004-01-08 20:21:14 giacomo Exp $
CVS : $Id: edf.c,v 1.12 2004-02-10 17:50:04 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.11 $
Last update: $Date: 2004-01-08 20:21:14 $
Revision: $Revision: 1.12 $
Last update: $Date: 2004-02-10 17:50:04 $
------------
 
This file contains the scheduling module EDF (Earliest Deadline First)
146,6 → 146,7
 
default:
/* else, a deadline miss occurred!!! */
TRACER_LOGEVENT(FTrace_EVT_task_deadline_miss,1,proc_table[p].context,0);
kern_raise(XDEADLINE_MISS,p);
}
}
157,6 → 158,7
#ifdef EDF_DEBUG
edf_printf("(EDF:AAARRRGGGHHH!!!)");
#endif
TRACER_LOGEVENT(FTrace_EVT_task_deadline_miss,1,proc_table[p].context,0);
kern_raise(XDEADLINE_MISS,p);
}
 
268,6 → 270,7
/* check if the wcet is finished... */
if ((lev->flags & EDF_ENABLE_WCET_CHECK) && proc_table[p].avail_time <= 0) {
/* if it is, raise a XWCET_VIOLATION exception */
TRACER_LOGEVENT(FTrace_EVT_task_wcet_violation,1,proc_table[p].context,0);
kern_raise(XWCET_VIOLATION,p);
proc_table[p].status = EDF_WCET_VIOLATED;
}