root/tools/testing/selftests/powerpc/pmu/ebb/trace.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Copyright 2014, Michael Ellerman, IBM Corp.
   4  */
   5 
   6 #ifndef _SELFTESTS_POWERPC_PMU_EBB_TRACE_H
   7 #define _SELFTESTS_POWERPC_PMU_EBB_TRACE_H
   8 
   9 #include "utils.h"
  10 
  11 #define TRACE_TYPE_REG          1
  12 #define TRACE_TYPE_COUNTER      2
  13 #define TRACE_TYPE_STRING       3
  14 #define TRACE_TYPE_INDENT       4
  15 #define TRACE_TYPE_OUTDENT      5
  16 
  17 struct trace_entry
  18 {
  19         u8 type;
  20         u8 length;
  21         u8 data[0];
  22 };
  23 
  24 struct trace_buffer
  25 {
  26         u64  size;
  27         bool overflow;
  28         void *tail;
  29         u8   data[0];
  30 };
  31 
  32 struct trace_buffer *trace_buffer_allocate(u64 size);
  33 int trace_log_reg(struct trace_buffer *tb, u64 reg, u64 value);
  34 int trace_log_counter(struct trace_buffer *tb, u64 value);
  35 int trace_log_string(struct trace_buffer *tb, char *str);
  36 int trace_log_indent(struct trace_buffer *tb);
  37 int trace_log_outdent(struct trace_buffer *tb);
  38 void trace_buffer_print(struct trace_buffer *tb);
  39 void trace_print_location(struct trace_buffer *tb);
  40 
  41 #endif /* _SELFTESTS_POWERPC_PMU_EBB_TRACE_H */

/* [<][>][^][v][top][bottom][index][help] */