Rev 560 | Rev 1027 | 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 |
781 | giacomo | 19 | #define FTrace_EVT_cycles_per_msec 0x10 // Par1 [empty] Par2 [clk/msec] |
20 | #define FTrace_EVT_trace_start 0x20 // Par1 [empty] Par2 [empty] |
||
21 | #define FTrace_EVT_trace_stop 0x30 // Par1 [empty] Par2 [empty] |
||
352 | giacomo | 22 | #define FTrace_EVT_blackout_start 0x40 |
23 | #define FTrace_EVT_blackout_end 0x50 |
||
781 | giacomo | 24 | #define FTrace_EVT_id 0x60 // Par1 [ctx] Par2 [pid] |
352 | giacomo | 25 | #define FTrace_EVT_numeevents 0x70 |
26 | |||
27 | // lightweight tracing events |
||
781 | giacomo | 28 | #define FTrace_EVT_ipoint 0x01 // Par1 [number] Par2 [empty] |
352 | giacomo | 29 | |
30 | // Task related events |
||
781 | giacomo | 31 | #define FTrace_EVT_task_create 0x02 // Par1 [ctx] Par2 [pid] |
32 | #define FTrace_EVT_task_activate 0x12 // Par1 [ctx] Par2 [empty] |
||
352 | giacomo | 33 | #define FTrace_EVT_task_dispatch 0x22 |
34 | #define FTrace_EVT_task_epilogue 0x32 |
||
781 | giacomo | 35 | #define FTrace_EVT_task_end 0x42 // Par1 [ctx] Par2 [pid] |
352 | giacomo | 36 | #define FTrace_EVT_task_begin_cycle 0x52 |
781 | giacomo | 37 | #define FTrace_EVT_task_end_cycle 0x62 // Par1 [ctx] Par2 [level] |
352 | giacomo | 38 | #define FTrace_EVT_task_sleep 0x72 |
781 | giacomo | 39 | #define FTrace_EVT_task_schedule 0x82 // Par1 [exec_shadow.ctx] Par2 [exec.ctx] |
40 | #define FTrace_EVT_task_timer 0x92 // Par1 [ctx] Par2 [level] |
||
41 | #define FTrace_EVT_task_disable 0xA2 |
||
42 | #define FTrace_EVT_task_deadline_miss 0xB2 // Par1 [ctx] Par2 [empty] |
||
43 | #define FTrace_EVT_task_wcet_violation 0xC2 // Par1 [ctx] Par2 [empty] |
||
352 | giacomo | 44 | |
45 | // interrupt events, even more lightweight than ipoints |
||
781 | giacomo | 46 | #define FTrace_EVT_interrupt_start 0x03 // Par1 [int] Par2 [empty] |
47 | #define FTrace_EVT_interrupt_end 0x13 // Par1 [int] Par2 [empty] |
||
352 | giacomo | 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 |
||
781 | giacomo | 59 | #define FTrace_EVT_context_switch 0x15 // Par1 [ctx] |
60 | #define FTrace_EVT_inheritance 0x25 // Par1 [exec_shadow.ctx] Par2 [exec.ctx] |
||
386 | giacomo | 61 | |
352 | giacomo | 62 | // mutex events |
63 | #define FTrace_EVT_set_mutex_create 0x06 |
||
781 | giacomo | 64 | #define FTrace_EVT_set_mutex_lock 0x16 // Par1 [ctx] Par2 [mutex] |
352 | giacomo | 65 | #define FTrace_EVT_set_mutex_inherit 0x26 |
781 | giacomo | 66 | #define FTrace_EVT_set_mutex_unlock 0x36 // Par1 [ctx] Par2 [mutex] |
67 | #define FTrace_EVT_set_mutex_wait 0x46 // Par1 [ctx] Par2 [mutex] |
||
352 | giacomo | 68 | |
69 | // signal events |
||
70 | #define FTrace_EVT_signal 0x07 |
||
71 | // more here (MarteOS) |
||
72 | |||
73 | // specific server events |
||
781 | giacomo | 74 | #define FTrace_EVT_server_create 0x08 // Par1 [empty] Par2 [server] |
75 | #define FTrace_EVT_server_replenish 0x18 // Par1 [empty] Par2 [server] |
||
76 | #define FTrace_EVT_server_exhaust 0x28 // Par1 [empty] Par2 [server] |
||
77 | #define FTrace_EVT_server_reclaiming 0x38 // Par1 [empty] Par2 [server] |
||
78 | #define FTrace_EVT_server_remove 0x48 // Par1 [empty] Par2 [server] |
||
79 | #define FTrace_EVT_server_active 0x58 // Par1 [empty] Par2 [server] |
||
80 | #define FTrace_EVT_server_using_rec 0x68 // Par1 [reclaiming] Par2 [server] |
||
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 |
||
781 | giacomo | 101 | #define FTrace_EVT_timer_post 0x0B // Par 1 [empty] Par2 [empty] |
102 | #define FTrace_EVT_timer_delete 0x1B // Par 1 [empty] Par2 [empty] |
||
103 | #define FTrace_EVT_timer_wakeup_start 0x2B // Par 1 [empty] Par2 [empty] |
||
104 | #define FTrace_EVT_timer_wakeup_end 0x3B // Par 1 [ctx] Par2 [empty] |
||
352 | giacomo | 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 |