1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 /***************************************************************************
4 * Copyright (C) 2007 by Dominic Rath *
5 * Dominic.Rath@gmx.de *
6 ***************************************************************************/
8 #ifndef OPENOCD_TARGET_TRACE_H
9 #define OPENOCD_TARGET_TRACE_H
11 #include "helper/types.h"
14 struct command_context;
22 uint32_t num_trace_points;
23 uint32_t trace_points_size;
24 struct trace_point *trace_points;
25 uint32_t trace_history_size;
26 uint32_t *trace_history;
27 uint32_t trace_history_pos;
28 int trace_history_overflowed;
32 * \todo This enum is one of the few things in this file related
33 * to *hardware* tracing ... split such "real" tracing out from
34 * the contrib/libdcc support.
36 typedef enum trace_status {
39 TRACE_TRIGGERED = 0x2,
40 TRACE_COMPLETED = 0x4,
41 TRACE_OVERFLOWED = 0x8,
44 int trace_point(struct target *target, uint32_t number);
45 int trace_register_commands(struct command_context *cmd_ctx);
47 #define ERROR_TRACE_IMAGE_UNAVAILABLE (-1500)
48 #define ERROR_TRACE_INSTRUCTION_UNAVAILABLE (-1501)
50 #endif /* OPENOCD_TARGET_TRACE_H */