litl  0.1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
fut.h
Go to the documentation of this file.
1 /* -*- c-file-style: "GNU" -*- */
2 /*
3  * Copyright © Télécom SudParis.
4  * See COPYING in top-level directory.
5  */
6 
18 #ifndef FUT_H_
19 #define FUT_H_
20 
21 #include "fxt.h"
22 
23 /* "how" parameter values, analagous to "how" parameters to FKT */
24 #define FUT_ENABLE 0xCE03 /* for enabling probes with 1's in keymask */
25 #define FUT_DISABLE 0xCE04 /* for disabling probes with 1's in keymask */
26 #define FUT_SETMASK 0xCE05 /* for enabling 1's, disabling 0's in keymask */
27 
28 /* Simple keymasks */
29 #define FUT_KEYMASK0 0x00000001
30 #define FUT_KEYMASK1 0x00000002
31 #define FUT_KEYMASK2 0x00000004
32 #define FUT_KEYMASK3 0x00000008
33 #define FUT_KEYMASK4 0x00000010
34 #define FUT_KEYMASK5 0x00000020
35 #define FUT_KEYMASK6 0x00000040
36 #define FUT_KEYMASK7 0x00000080
37 #define FUT_KEYMASK8 0x00000100
38 #define FUT_KEYMASK9 0x00000200
39 #define FUT_KEYMASK10 0x00000400
40 #define FUT_KEYMASK11 0x00000800
41 #define FUT_KEYMASK12 0x00001000
42 #define FUT_KEYMASK13 0x00002000
43 #define FUT_KEYMASK14 0x00004000
44 #define FUT_KEYMASK15 0x00008000
45 #define FUT_KEYMASK16 0x00010000
46 #define FUT_KEYMASK17 0x00020000
47 #define FUT_KEYMASK18 0x00040000
48 #define FUT_KEYMASK19 0x00080000
49 #define FUT_KEYMASK20 0x00100000
50 #define FUT_KEYMASK21 0x00200000
51 #define FUT_KEYMASK22 0x00400000
52 #define FUT_KEYMASK23 0x00800000
53 #define FUT_KEYMASK24 0x01000000
54 #define FUT_KEYMASK25 0x02000000
55 #define FUT_KEYMASK26 0x04000000
56 #define FUT_KEYMASK27 0x08000000
57 #define FUT_KEYMASK28 0x10000000
58 #define FUT_KEYMASK29 0x20000000
59 #define FUT_KEYMASK30 0x40000000
60 #define FUT_KEYMASK31 0x80000000
61 #define FUT_KEYMASKALL 0xffffffff
62 
63 #define FUT_GCC_INSTRUMENT_KEYMASK FUT_KEYMASK29
64 
65 /* Fixed parameters of the fut coding scheme */
66 #define FUT_GENERIC_EXIT_OFFSET 0x100 /* exit this much above entry */
67 
68 #define FUT_UNPAIRED_LIMIT_CODE 0xf000 /* all unpaired codes above this limit */
69 
70 /* Codes for fut use */
71 #define FUT_SETUP_CODE 0xffff
72 #define FUT_KEYCHANGE_CODE 0xfffe
73 #define FUT_RESET_CODE 0xfffd
74 #define FUT_CALIBRATE0_CODE 0xfffc
75 #define FUT_CALIBRATE1_CODE 0xfffb
76 #define FUT_CALIBRATE2_CODE 0xfffa
77 
78 #define FUT_THREAD_BIRTH_CODE 0xfff9
79 #define FUT_THREAD_DEATH_CODE 0xfff8
80 #define FUT_SET_THREAD_NAME_CODE 0xfff7
81 
82 #define FUT_NEW_LWP_CODE 0xfff6
83 
84 #define FUT_START_FLUSH_CODE 0xfff5
85 #define FUT_STOP_FLUSH_CODE 0xfff4
86 
87 #define FUT_RQS_NEWLEVEL 0xffef
88 #define FUT_RQS_NEWLWPRQ 0xffee
89 #define FUT_RQS_NEWRQ 0xffed
90 
91 #define FUT_SWITCH_TO_CODE 0x31a
92 
93 #define FUT_MAIN_ENTRY_CODE 0x301
94 #define FUT_MAIN_EXIT_CODE 0x401
95 
96 #endif /* FUT_H_ */
fxt Provides a mapping of the LiTL APIs into the FxT APIs for easier usage of LiTL in FxT-related app...