You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// The pt_config structure defines an Intel Processor Trace (Intel PT) encoder or decoder configuration.
4
-
///
5
-
/// It is required for allocating a trace packet encoder (see pt_alloc_encoder(3)),
6
-
/// a trace packet decoder (see pt_pkt_alloc_decoder(3)),
7
-
/// a query decoder (see pt_qry_alloc_decoder(3)),
8
-
/// or an instruction flow decoder (see pt_insn_alloc_decoder(3)).
3
+
/// Intel Processor Trace (Intel PT) encoder or decoder configuration.
9
4
pubmod enc_dec_builder;
10
5
11
-
/// The library uses a single error enum for all layers.
6
+
/// Unique error enum used across the library.
12
7
///
13
-
/// Not all errors may occur on every layer.
14
-
/// Every API function specifies the errors it may return. (not accurate!)
8
+
/// Not all errors may occur in every module's function.
9
+
/// Every API function specifies the errors it may return (sometimes not exhaustively!).
15
10
pubmod error;
16
11
17
-
/// This layer deals with Intel PT packet encoding and decoding.
18
-
///
19
-
/// It can further be split into three sub-layers: opcodes, encoding, and decoding.
12
+
/// Intel PT packet encoding and decoding.
20
13
pubmod packet;
21
14
22
-
/// The event layer deals with packet combinations that encode higher-level events.
15
+
/// Higher-level events often resulting from the combination of different PT packets.
23
16
///
24
17
/// It is used for reconstructing execution flow for users who need finer-grain control not available via the instruction flow layer
25
18
/// or for users who want to integrate execution flow reconstruction with other functionality more tightly than it would be possible otherwise.
26
19
pubmod event;
27
20
28
-
/// The block layer provides a simple API for iterating over blocks of sequential instructions in execution order.
21
+
/// Simple API for iterating over blocks of sequential instructions in execution order.
29
22
///
30
23
/// The instructions in a block are sequential in the sense that no trace is required for reconstructing the instructions.
31
24
/// The IP of the first instruction is given in struct `Block` and the IP of other instructions in the block can be determined by decoding and examining the previous instruction.
32
25
pubmod block;
33
26
34
-
/// The instruction flow layer provides a simple API for iterating over instructions in execution order.
27
+
/// Simple API for iterating over instructions in execution order.
35
28
pubmod insn;
36
29
37
30
mod version;
38
31
pubuse version::Version;
39
32
33
+
/// Module handling the memory images of the binaries beeing traced, used in high level decoding.
0 commit comments