123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /*
- * Copyright 2014, Michael Ellerman, IBM Corp.
- * Licensed under GPLv2.
- */
- #ifndef _SELFTESTS_POWERPC_PMU_EBB_TRACE_H
- #define _SELFTESTS_POWERPC_PMU_EBB_TRACE_H
- #include "utils.h"
- #define TRACE_TYPE_REG 1
- #define TRACE_TYPE_COUNTER 2
- #define TRACE_TYPE_STRING 3
- #define TRACE_TYPE_INDENT 4
- #define TRACE_TYPE_OUTDENT 5
- struct trace_entry
- {
- u8 type;
- u8 length;
- u8 data[0];
- };
- struct trace_buffer
- {
- u64 size;
- bool overflow;
- void *tail;
- u8 data[0];
- };
- struct trace_buffer *trace_buffer_allocate(u64 size);
- int trace_log_reg(struct trace_buffer *tb, u64 reg, u64 value);
- int trace_log_counter(struct trace_buffer *tb, u64 value);
- int trace_log_string(struct trace_buffer *tb, char *str);
- int trace_log_indent(struct trace_buffer *tb);
- int trace_log_outdent(struct trace_buffer *tb);
- void trace_buffer_print(struct trace_buffer *tb);
- void trace_print_location(struct trace_buffer *tb);
- #endif /* _SELFTESTS_POWERPC_PMU_EBB_TRACE_H */
|