Subversion Repositories shark

Rev

Rev 1319 | Details | Compare with Previous | Last modification | View Log | RSS feed

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