uint32_t chkpt0;
uint32_t chkpt1;
uint32_t last_instruction;
+ unsigned int num_checkpoints;
struct xscale_trace_data *next;
};
+enum trace_mode
+{
+ XSCALE_TRACE_DISABLED,
+ XSCALE_TRACE_FILL,
+ XSCALE_TRACE_WRAP
+};
+
struct xscale_trace
{
- trace_status_t capture_status; /* current state of capture run */
struct image *image; /* source for target opcodes */
struct xscale_trace_data *data; /* linked list of collected trace data */
- int buffer_enabled; /* whether trace buffer is enabled */
- int buffer_fill; /* maximum number of trace runs to read (-1 for wrap-around) */
- int pc_ok;
- uint32_t current_pc;
+ int buffer_fill; /* maximum number of trace runs to read */
+ int fill_counter; /* running count during trace collection */
+ enum trace_mode mode;
enum arm_state core_state; /* current core state (ARM, Thumb) */
};
XSCALE_TXRXCTRL,
};
-#define ERROR_XSCALE_NO_TRACE_DATA (-1500)
+#define ERROR_XSCALE_NO_TRACE_DATA (-700)
#endif /* XSCALE_H */