target_t -> struct target
[fw/openocd] / src / target / xscale.h
index a5d83ee675c7a4aafe3385ac3ff1d08d1497e8d9..4f1b54d8b92403cd15e68aa907af24f03d0ba771 100644 (file)
@@ -50,44 +50,45 @@ enum xscale_trace_entry_type
        XSCALE_TRACE_ADDRESS = 0x1,
 };
 
-typedef struct xscale_trace_entry_s
+struct xscale_trace_entry
 {
        uint8_t data;
        enum xscale_trace_entry_type type;
-} xscale_trace_entry_t;
+};
 
-typedef struct xscale_trace_data_s
+struct xscale_trace_data
 {
-       xscale_trace_entry_t *entries;
+       struct xscale_trace_entry *entries;
        int depth;
        uint32_t chkpt0;
        uint32_t chkpt1;
        uint32_t last_instruction;
-       struct xscale_trace_data_s *next;
-} xscale_trace_data_t;
+       struct xscale_trace_data *next;
+};
 
-typedef struct xscale_trace_s
+struct xscale_trace
 {
        trace_status_t capture_status;  /* current state of capture run */
-       struct image_s *image;                                  /* source for target opcodes */
-       xscale_trace_data_t *data;              /* linked list of collected trace data */
+       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;
        armv4_5_state_t core_state;             /* current core state (ARM, Thumb, Jazelle) */
-} xscale_trace_t;
+};
 
-typedef struct xscale_common_s
+struct xscale_common
 {
+       /* armv4/5 common stuff */
+       struct arm armv4_5_common;
+
        int common_magic;
 
        /* XScale registers (CP15, DBG) */
-       reg_cache_t *reg_cache;
+       struct reg_cache *reg_cache;
 
        /* current state of the debug handler */
-       int handler_installed;
-       int handler_running;
        uint32_t handler_address;
 
        /* target-endian buffers with exception vectors */
@@ -119,28 +120,29 @@ typedef struct xscale_common_s
 
        uint8_t vector_catch;
 
-       xscale_trace_t trace;
+       struct xscale_trace trace;
 
        int arch_debug_reason;
 
-       /* armv4/5 common stuff */
-       armv4_5_common_t armv4_5_common;
-
        /* MMU/Caches */
-       armv4_5_mmu_common_t armv4_5_mmu;
+       struct armv4_5_mmu_common armv4_5_mmu;
        uint32_t cp15_control_reg;
 
-       /* possible future enhancements that go beyond XScale common stuff */
-       void *arch_info;
-
        int fast_memory_access;
-} xscale_common_t;
+};
 
-typedef struct xscale_reg_s
+static inline struct xscale_common *
+target_to_xscale(struct target *target)
+{
+       return container_of(target->arch_info, struct xscale_common,
+                       armv4_5_common);
+}
+
+struct xscale_reg
 {
        int dbg_handler_number;
-       target_t *target;
-} xscale_reg_t;
+       struct target *target;
+};
 
 enum
 {