Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 444 → 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);