Subversion Repositories shark

Rev

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

Rev Author Line No. Line
352 giacomo 1
/*
2
 
3
  Events List File, from York University and F.I.R.S.T project
4
 
5
*/
6
 
7
 
8
#ifndef __FTrace__
9
#define __FTrace__
10
 
11
 
12
// List of events, these are 8 bit constants, the 
13
// the low 4 bits, indicates its class, 
14
// the high 4 bits indicate the type of event in the class.
15
// (This allows an easy mechanisms for filtering events)
16
 
17
// general trace events
18
#define FTrace_EVT_ticks_per_sec      0x00
19
#define FTrace_EVT_cycles_per_tick    0x10
20
#define FTrace_EVT_trace_start        0x20
21
#define FTrace_EVT_trace_stop         0x30
22
#define FTrace_EVT_blackout_start     0x40
23
#define FTrace_EVT_blackout_end       0x50
24
#define FTrace_EVT_id                 0x60 //??
25
#define FTrace_EVT_numeevents         0x70
26
 
27
// lightweight tracing events
28
#define FTrace_EVT_ipoint             0x01
29
 
30
// Task related events
31
#define FTrace_EVT_task_create        0x02
32
#define FTrace_EVT_task_activate      0x12
33
#define FTrace_EVT_task_dispatch      0x22
34
#define FTrace_EVT_task_epilogue      0x32
35
#define FTrace_EVT_task_end           0x42
36
#define FTrace_EVT_task_begin_cycle   0x52
37
#define FTrace_EVT_task_end_cycle     0x62
38
#define FTrace_EVT_task_sleep         0x72
39
#define FTrace_EVT_task_schedule      0x82
40
 
41
// interrupt events, even more lightweight than ipoints
42
#define FTrace_EVT_interrupt_start    0x03
43
#define FTrace_EVT_interrupt_end      0x13
44
#define FTrace_EVT_interrupt_hit      0x23 // instant where interrupt was hit (no end)
45
#define FTrace_EVT_interrupt_count    0x33 // number of interrupts raised since last interrupt_count
46
 
47
// other CPU specific events
48
#define FTrace_EVT_to_real_mode       0x04
49
#define FTrace_EVT_to_protected_mode  0x14
50
#define FTrace_EVT_CLI                0x24
51
#define FTrace_EVT_STI                0x34
52
 
53
// Changes on task attributes and state
54
#define FTrace_EVT_set_priority       0x05
55
#define FTrace_EVT_context_switch     0x15
56
// mutex events
57
#define FTrace_EVT_set_mutex_create   0x06
58
#define FTrace_EVT_set_mutex_lock     0x16
59
#define FTrace_EVT_set_mutex_inherit  0x26
60
#define FTrace_EVT_set_mutex_unlock   0x36
61
 
62
// signal events
63
#define FTrace_EVT_signal             0x07
64
// more here (MarteOS)
65
 
66
// specific server events
67
#define FTrace_EVT_server_create      0x08
68
#define FTrace_EVT_server_replenish   0x18
69
#define FTrace_EVT_server_exhaust     0x28
70
 
71
// user defined events
72
#define FTrace_EVT_user_event_0       0x09
73
#define FTrace_EVT_user_event_1       0x19
74
#define FTrace_EVT_user_event_2       0x29
75
#define FTrace_EVT_user_event_3       0x39
76
#define FTrace_EVT_user_event_4       0x49
77
#define FTrace_EVT_user_event_5       0x59
78
#define FTrace_EVT_user_event_6       0x69
79
#define FTrace_EVT_user_event_7       0x79
80
#define FTrace_EVT_user_event_8       0x89
81
#define FTrace_EVT_user_event_9       0x99
82
#define FTrace_EVT_user_event_10      0xA9
83
#define FTrace_EVT_user_event_11      0xB9
84
#define FTrace_EVT_user_event_12      0xC9
85
#define FTrace_EVT_user_event_13      0xD9
86
#define FTrace_EVT_user_event_14      0xE9
87
#define FTrace_EVT_user_event_15      0xF9
88
 
89
// Timer Events
90
#define FTrace_EVT_timer_post         0x0B
91
#define FTrace_EVT_timer_delete       0x1B
92
#define FTrace_EVT_timer_wakeup_start 0x2B
93
#define FTrace_EVT_timer_wakeup_end   0x3B
94
 
95
// generic data events
96
#define FTrace_EVT_data_pointer       0x1A // holds a pointer of data from 
97
// previous event
98
 
99
// types of the data pointer
100
#define FTrace_DATA_int               1
101
#define FTrace_DATA_char              2
102
 
103
// filter definitions
104
#define FTrace_filter_trace_Events    0xF0
105
#define FTrace_filter_ipoint          0xF1
106
#define FTrace_filter_task            0xF2
107
#define FTrace_filter_interrupt       0xF3
108
#define FTrace_filter_CPU             0xF4
109
#define FTrace_filter_priority        0xF5
110
#define FTrace_filter_mutex           0xF6
111
#define FTrace_filter_signal          0xF7
112
#define FTrace_filter_server          0xF8
113
#define FTrace_filter_user            0xF9
114
#define FTrace_filter_data            0xFA
115
#define FTrace_filter_timer           0xFB
116
 
117
#endif