Rev 386 |
Rev 560 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
/*
Events List File, from York University and F.I.R.S.T project
*/
#ifndef __FTrace__
#define __FTrace__
// List of events, these are 8 bit constants, the
// the low 4 bits, indicates its class,
// the high 4 bits indicate the type of event in the class.
// (This allows an easy mechanisms for filtering events)
// general trace events
#define FTrace_EVT_ticks_per_sec 0x00
#define FTrace_EVT_cycles_per_tick 0x10
#define FTrace_EVT_trace_start 0x20
#define FTrace_EVT_trace_stop 0x30
#define FTrace_EVT_blackout_start 0x40
#define FTrace_EVT_blackout_end 0x50
#define FTrace_EVT_id 0x60 //??
#define FTrace_EVT_numeevents 0x70
// lightweight tracing events
#define FTrace_EVT_ipoint 0x01
// Task related events
#define FTrace_EVT_task_create 0x02
#define FTrace_EVT_task_activate 0x12
#define FTrace_EVT_task_dispatch 0x22
#define FTrace_EVT_task_epilogue 0x32
#define FTrace_EVT_task_end 0x42
#define FTrace_EVT_task_begin_cycle 0x52
#define FTrace_EVT_task_end_cycle 0x62
#define FTrace_EVT_task_sleep 0x72
#define FTrace_EVT_task_schedule 0x82
#define FTrace_EVT_task_timer 0x92
#define FTrace_EVT_task_disable 0xA2
#define FTrace_EVT_task_deadline_miss 0xB2
#define FTrace_EVT_task_wcet_violation 0xC2
// interrupt events, even more lightweight than ipoints
#define FTrace_EVT_interrupt_start 0x03
#define FTrace_EVT_interrupt_end 0x13
#define FTrace_EVT_interrupt_hit 0x23 // instant where interrupt was hit (no end)
#define FTrace_EVT_interrupt_count 0x33 // number of interrupts raised since last interrupt_count
// other CPU specific events
#define FTrace_EVT_to_real_mode 0x04
#define FTrace_EVT_to_protected_mode 0x14
#define FTrace_EVT_CLI 0x24
#define FTrace_EVT_STI 0x34
// Changes on task attributes and state
#define FTrace_EVT_set_priority 0x05
#define FTrace_EVT_context_switch 0x15
#define FTrace_EVT_inheritance 0x25
// mutex events
#define FTrace_EVT_set_mutex_create 0x06
#define FTrace_EVT_set_mutex_lock 0x16
#define FTrace_EVT_set_mutex_inherit 0x26
#define FTrace_EVT_set_mutex_unlock 0x36
#define FTrace_EVT_set_mutex_wait 0x46
// signal events
#define FTrace_EVT_signal 0x07
// more here (MarteOS)
// specific server events
#define FTrace_EVT_server_create 0x08
#define FTrace_EVT_server_replenish 0x18
#define FTrace_EVT_server_exhaust 0x28
#define FTrace_EVT_server_reclaiming 0x38
#define FTrace_EVT_server_remove 0x48
#define FTrace_EVT_server_active 0x58
#define FTrace_EVT_server_using_rec 0x68
// user defined events
#define FTrace_EVT_user_event_0 0x09
#define FTrace_EVT_user_event_1 0x19
#define FTrace_EVT_user_event_2 0x29
#define FTrace_EVT_user_event_3 0x39
#define FTrace_EVT_user_event_4 0x49
#define FTrace_EVT_user_event_5 0x59
#define FTrace_EVT_user_event_6 0x69
#define FTrace_EVT_user_event_7 0x79
#define FTrace_EVT_user_event_8 0x89
#define FTrace_EVT_user_event_9 0x99
#define FTrace_EVT_user_event_10 0xA9
#define FTrace_EVT_user_event_11 0xB9
#define FTrace_EVT_user_event_12 0xC9
#define FTrace_EVT_user_event_13 0xD9
#define FTrace_EVT_user_event_14 0xE9
#define FTrace_EVT_user_event_15 0xF9
// Timer Events
#define FTrace_EVT_timer_post 0x0B
#define FTrace_EVT_timer_delete 0x1B
#define FTrace_EVT_timer_wakeup_start 0x2B
#define FTrace_EVT_timer_wakeup_end 0x3B
// generic data events
#define FTrace_EVT_data_pointer 0x1A // holds a pointer of data from
// previous event
// types of the data pointer
#define FTrace_DATA_int 1
#define FTrace_DATA_char 2
// filter definitions
#define FTrace_filter_trace_Events 0xF0
#define FTrace_filter_ipoint 0xF1
#define FTrace_filter_task 0xF2
#define FTrace_filter_interrupt 0xF3
#define FTrace_filter_CPU 0xF4
#define FTrace_filter_priority 0xF5
#define FTrace_filter_mutex 0xF6
#define FTrace_filter_signal 0xF7
#define FTrace_filter_server 0xF8
#define FTrace_filter_user 0xF9
#define FTrace_filter_data 0xFA
#define FTrace_filter_timer 0xFB
#endif