aboutsummaryrefslogtreecommitdiff
path: root/include/trace.h
diff options
context:
space:
mode:
authorSimon Glass2023-01-15 14:15:46 -0700
committerTom Rini2023-02-11 12:22:35 -0500
commitd9044e5363bb0b32a7aff00adf47c227f78f0f32 (patch)
tree2eb15e4b7de4bb64bd2f309c8bb8e49214c8592b /include/trace.h
parent90ad4e28e8d299395922364409c37bd7afc293e4 (diff)
trace: Update the file header
It seems better to put the TEXT_BASE value in the file header rather than in an entry record. While it is true that there is a separate base for pre-relocation, this can be handled by using offsets in the file. It is useful to have a version number in case we need to change the trace format again. Update the header to make these changes. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/trace.h')
-rw-r--r--include/trace.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/trace.h b/include/trace.h
index e7aee024f03..2be8d81b515 100644
--- a/include/trace.h
+++ b/include/trace.h
@@ -6,6 +6,8 @@
#ifndef __TRACE_H
#define __TRACE_H
+/* this file is included from a tool so uses uint32_t instead of u32, etc. */
+
enum {
/*
* This affects the granularity of our trace. We can bin function
@@ -23,6 +25,8 @@ enum {
* this value.
*/
FUNC_SITE_SIZE = 4, /* distance between function sites */
+
+ TRACE_VERSION = 1,
};
enum trace_chunk_type {
@@ -39,7 +43,11 @@ struct trace_output_func {
/* A header at the start of the trace output buffer */
struct trace_output_hdr {
enum trace_chunk_type type; /* Record type */
- size_t rec_count; /* Number of records */
+ uint32_t version; /* Version (TRACE_VERSION) */
+ uint32_t rec_count; /* Number of records */
+ uint32_t spare; /* 0 */
+ uint64_t text_base; /* Value of CONFIG_TEXT_BASE */
+ uint64_t spare2; /* 0 */
};
/* Print statistics about traced function calls */
@@ -63,7 +71,7 @@ int trace_list_functions(void *buff, size_t buff_size, size_t *needed);
enum ftrace_flags {
FUNCF_EXIT = 0UL << 30,
FUNCF_ENTRY = 1UL << 30,
- FUNCF_TEXTBASE = 2UL << 30,
+ /* two more values are available */
FUNCF_TIMESTAMP_MASK = 0x3fffffff,
};