mips: mips32_pracc_exec error propagation fixes
[fw/openocd] / src / target / xscale.h
index f20074fdb9ec1ea77772db34350e23872d3617bf..e480da9307ffc0594195d90fcae3316388f52e2b 100644 (file)
@@ -67,18 +67,24 @@ struct xscale_trace_data
        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) */
 };
 
@@ -177,6 +183,6 @@ enum
        XSCALE_TXRXCTRL,
 };
 
-#define ERROR_XSCALE_NO_TRACE_DATA     (-1500)
+#define ERROR_XSCALE_NO_TRACE_DATA     (-700)
 
 #endif /* XSCALE_H */