jtag: retire jtag_alloc_in_value32 API
[fw/openocd] / src / target / xscale.h
index 43edeecd0cacd45afa00e35af916f34befa99a83..e480da9307ffc0594195d90fcae3316388f52e2b 100644 (file)
@@ -23,9 +23,9 @@
 #ifndef XSCALE_H
 #define XSCALE_H
 
-#include <target/armv4_5.h>
-#include <target/armv4_5_mmu.h>
-#include <target/trace.h>
+#include "arm.h"
+#include "armv4_5_mmu.h"
+#include "trace.h"
 
 #define        XSCALE_COMMON_MAGIC 0x58534341
 
@@ -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 */