Rev 501 | Rev 781 | Go to most recent revision | Details | Compare with Previous | 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 |
||
560 | giacomo | 18 | #define FTrace_EVT_empty 0x00 |
352 | giacomo | 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 |
||
355 | giacomo | 40 | #define FTrace_EVT_task_timer 0x92 |
41 | #define FTrace_EVT_task_disable 0xA2 |
||
445 | giacomo | 42 | #define FTrace_EVT_task_deadline_miss 0xB2 |
43 | #define FTrace_EVT_task_wcet_violation 0xC2 |
||
352 | giacomo | 44 | |
45 | // interrupt events, even more lightweight than ipoints |
||
46 | #define FTrace_EVT_interrupt_start 0x03 |
||
47 | #define FTrace_EVT_interrupt_end 0x13 |
||
48 | #define FTrace_EVT_interrupt_hit 0x23 // instant where interrupt was hit (no end) |
||
49 | #define FTrace_EVT_interrupt_count 0x33 // number of interrupts raised since last interrupt_count |
||
50 | |||
51 | // other CPU specific events |
||
52 | #define FTrace_EVT_to_real_mode 0x04 |
||
53 | #define FTrace_EVT_to_protected_mode 0x14 |
||
54 | #define FTrace_EVT_CLI 0x24 |
||
55 | #define FTrace_EVT_STI 0x34 |
||
56 | |||
57 | // Changes on task attributes and state |
||
58 | #define FTrace_EVT_set_priority 0x05 |
||
59 | #define FTrace_EVT_context_switch 0x15 |
||
386 | giacomo | 60 | #define FTrace_EVT_inheritance 0x25 |
61 | |||
352 | giacomo | 62 | // mutex events |
63 | #define FTrace_EVT_set_mutex_create 0x06 |
||
64 | #define FTrace_EVT_set_mutex_lock 0x16 |
||
65 | #define FTrace_EVT_set_mutex_inherit 0x26 |
||
66 | #define FTrace_EVT_set_mutex_unlock 0x36 |
||
355 | giacomo | 67 | #define FTrace_EVT_set_mutex_wait 0x46 |
352 | giacomo | 68 | |
69 | // signal events |
||
70 | #define FTrace_EVT_signal 0x07 |
||
71 | // more here (MarteOS) |
||
72 | |||
73 | // specific server events |
||
74 | #define FTrace_EVT_server_create 0x08 |
||
75 | #define FTrace_EVT_server_replenish 0x18 |
||
76 | #define FTrace_EVT_server_exhaust 0x28 |
||
362 | giacomo | 77 | #define FTrace_EVT_server_reclaiming 0x38 |
377 | giacomo | 78 | #define FTrace_EVT_server_remove 0x48 |
79 | #define FTrace_EVT_server_active 0x58 |
||
386 | giacomo | 80 | #define FTrace_EVT_server_using_rec 0x68 |
352 | giacomo | 81 | |
82 | // user defined events |
||
83 | #define FTrace_EVT_user_event_0 0x09 |
||
84 | #define FTrace_EVT_user_event_1 0x19 |
||
85 | #define FTrace_EVT_user_event_2 0x29 |
||
86 | #define FTrace_EVT_user_event_3 0x39 |
||
87 | #define FTrace_EVT_user_event_4 0x49 |
||
88 | #define FTrace_EVT_user_event_5 0x59 |
||
89 | #define FTrace_EVT_user_event_6 0x69 |
||
90 | #define FTrace_EVT_user_event_7 0x79 |
||
91 | #define FTrace_EVT_user_event_8 0x89 |
||
92 | #define FTrace_EVT_user_event_9 0x99 |
||
93 | #define FTrace_EVT_user_event_10 0xA9 |
||
94 | #define FTrace_EVT_user_event_11 0xB9 |
||
95 | #define FTrace_EVT_user_event_12 0xC9 |
||
96 | #define FTrace_EVT_user_event_13 0xD9 |
||
97 | #define FTrace_EVT_user_event_14 0xE9 |
||
98 | #define FTrace_EVT_user_event_15 0xF9 |
||
99 | |||
100 | // Timer Events |
||
101 | #define FTrace_EVT_timer_post 0x0B |
||
102 | #define FTrace_EVT_timer_delete 0x1B |
||
103 | #define FTrace_EVT_timer_wakeup_start 0x2B |
||
104 | #define FTrace_EVT_timer_wakeup_end 0x3B |
||
105 | |||
106 | // generic data events |
||
107 | #define FTrace_EVT_data_pointer 0x1A // holds a pointer of data from |
||
108 | // previous event |
||
109 | |||
501 | giacomo | 110 | #define FTrace_EVT_next_chunk 0xFF |
111 | |||
352 | giacomo | 112 | // types of the data pointer |
113 | #define FTrace_DATA_int 1 |
||
114 | #define FTrace_DATA_char 2 |
||
115 | |||
116 | // filter definitions |
||
117 | #define FTrace_filter_trace_Events 0xF0 |
||
118 | #define FTrace_filter_ipoint 0xF1 |
||
119 | #define FTrace_filter_task 0xF2 |
||
120 | #define FTrace_filter_interrupt 0xF3 |
||
121 | #define FTrace_filter_CPU 0xF4 |
||
122 | #define FTrace_filter_priority 0xF5 |
||
123 | #define FTrace_filter_mutex 0xF6 |
||
124 | #define FTrace_filter_signal 0xF7 |
||
125 | #define FTrace_filter_server 0xF8 |
||
126 | #define FTrace_filter_user 0xF9 |
||
127 | #define FTrace_filter_data 0xFA |
||
128 | #define FTrace_filter_timer 0xFB |
||
129 | |||
130 | #endif |