diff options
Diffstat (limited to 'tools/perf')
| -rw-r--r-- | tools/perf/util/header.c | 2 | ||||
| -rw-r--r-- | tools/perf/util/header.h | 16 | 
2 files changed, 13 insertions, 5 deletions
| diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index eefb052190f3..f558f83769af 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -2480,6 +2480,7 @@ static int check_magic_endian(u64 magic, uint64_t hdr_sz,  	/* check for legacy format */  	ret = memcmp(&magic, __perf_magic1, sizeof(magic));  	if (ret == 0) { +		ph->version = PERF_HEADER_VERSION_1;  		pr_debug("legacy perf.data format\n");  		if (is_pipe)  			return try_all_pipe_abis(hdr_sz, ph); @@ -2501,6 +2502,7 @@ static int check_magic_endian(u64 magic, uint64_t hdr_sz,  		return -1;  	ph->needs_swap = true; +	ph->version = PERF_HEADER_VERSION_2;  	return 0;  } diff --git a/tools/perf/util/header.h b/tools/perf/util/header.h index e6387dcb95c0..307c9aed972e 100644 --- a/tools/perf/util/header.h +++ b/tools/perf/util/header.h @@ -34,6 +34,11 @@ enum {  	HEADER_FEAT_BITS	= 256,  }; +enum perf_header_version { +	PERF_HEADER_VERSION_1, +	PERF_HEADER_VERSION_2, +}; +  struct perf_file_section {  	u64 offset;  	u64 size; @@ -85,12 +90,13 @@ struct perf_session_env {  };  struct perf_header { -	bool			needs_swap; -	u64			data_offset; -	u64			data_size; -	u64			feat_offset; +	enum perf_header_version	version; +	bool				needs_swap; +	u64				data_offset; +	u64				data_size; +	u64				feat_offset;  	DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS); -	struct perf_session_env env; +	struct perf_session_env 	env;  };  struct perf_evlist; | 
