tools/perf/util/arm-spe-decoder/arm-spe-decoder.h

Source file repositories/reference/linux-study-clean/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h

File Facts

System
Linux kernel
Corpus path
tools/perf/util/arm-spe-decoder/arm-spe-decoder.h
Extension
.h
Size
4425 bytes
Lines
160
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: implementation source
Status
source implementation candidate

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

struct arm_spe_record {
	u64 type;
	int err;
	u32 op;
	u32 latency;
	u64 from_ip;
	u64 to_ip;
	u64 prev_br_tgt;
	u64 timestamp;
	u64 virt_addr;
	u64 phys_addr;
	u64 context_id;
	u16 source;
};

struct arm_spe_insn;

struct arm_spe_buffer {
	const unsigned char *buf;
	size_t len;
	u64 offset;
	u64 trace_nr;
};

struct arm_spe_params {
	int (*get_trace)(struct arm_spe_buffer *buffer, void *data);
	void *data;
};

struct arm_spe_decoder {
	int (*get_trace)(struct arm_spe_buffer *buffer, void *data);
	void *data;
	struct arm_spe_record record;

	const unsigned char *buf;
	size_t len;

	struct arm_spe_pkt packet;
};

struct arm_spe_decoder *arm_spe_decoder_new(struct arm_spe_params *params);
void arm_spe_decoder_free(struct arm_spe_decoder *decoder);

int arm_spe_decode(struct arm_spe_decoder *decoder);

#endif

Annotation

Implementation Notes