Subversion Repositories shark

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1319 giacomo 1
#include <tracer.h>
2
 
3
#include <kernel/kern.h>
4
#include <unistd.h>
5
 
6
 
7
TASK finish_task() {
8
 
9
  #ifdef __NEW_TRACER__
10
 
11
  extern __volatile__ unsigned int TracerEventsPresent;
12
  unsigned int k;                
13
 
14
  SYS_FLAGS f;
15
 
16
  sleep(1);
17
 
18
  tracer_init_udp(1,"192.168.118.4","192.168.118.2");
19
 
20
  tracer_create_udp_task(NULL,80);
21
 
22
  f = kern_fsave();
23
  k = TracerEventsPresent;
24
  kern_frestore(f);
25
  while(k > 0) {
26
    f = kern_fsave();
27
    printf_xy(0,5,WHITE,"REM = %08d",k);
28
    k = TracerEventsPresent;
29
    kern_frestore(f);
30
  }
31
 
32
  tracer_flush_sent_events();
33
 
34
  #endif
35
 
36
  sys_end();
37
 
38
  return NULL;
39
 
40
}
41
 
42
extern void *StartTracerBuffer; // Buffer Start 0
43
extern void *EndTracerBuffer; // Buffer End 4
44
extern void *LastBeforeEndTracerBuffer; //8
45
extern void *CurrentTracerBuffer; //The Actual Write Point For The Next Event 12
46
extern void *FirstTracerBuffer; //The First Valid Event 16
47
 
48
 
49
extern int TracerActive; //20
50
extern int TracerOutputType; //24
51
extern unsigned long long TracerEventsRecorded; //28
52
extern unsigned int TracerEventsPresent; //36
53
 
54
int main() {
55
 
56
  NRT_TASK_MODEL nrt;
57
 
58
  void *save_tracer_pointer = (void *)(2324422UL);
59
 
60
  #ifdef __NEW_TRACER__
61
 
62
  StartTracerBuffer = *(void **)(save_tracer_pointer); // Buffer Start 0
63
  EndTracerBuffer = *(void **)(save_tracer_pointer+4); // Buffer End 4
64
  LastBeforeEndTracerBuffer = *(void **)(save_tracer_pointer+8); //8
65
  CurrentTracerBuffer = *(void **)(save_tracer_pointer+12); //The Actual Write Point For The Next Event 12
66
  FirstTracerBuffer = *(void **)(save_tracer_pointer+16); //The First Valid Event 16
67
 
68
  TracerActive = 0;
69
 
70
  TracerEventsRecorded = *(unsigned long long *)(save_tracer_pointer+28); //28
71
  TracerEventsPresent = *(unsigned int *)(save_tracer_pointer+36); //36
72
 
73
  cprintf("Total Events Present %d\n",TracerEventsPresent);
74
 
75
  nrt_task_default_model(nrt);
76
 
77
  task_activate(task_create("Finish",finish_task,&nrt,NULL));
78
 
79
  #else
80
 
81
  sys_end();
82
 
83
  #endif
84
 
85
  return 0;
86
 
87
}
88