ARM720 uses the new inheritance/nesting scheme
[fw/openocd] / src / target / xscale.h
index 9d92550a6c7b84a5a5bb1dd71de6900a6941c5c7..56db1815083bce7635e81a67c51222ec908530e7 100644 (file)
@@ -86,8 +86,6 @@ typedef struct xscale_common_s
        reg_cache_t *reg_cache;
 
        /* current state of the debug handler */
-       int handler_installed;
-       int handler_running;
        uint32_t handler_address;
 
        /* target-endian buffers with exception vectors */
@@ -130,12 +128,16 @@ typedef struct xscale_common_s
        armv4_5_mmu_common_t 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;
 
+static inline struct xscale_common_s *
+target_to_xscale(struct target_s *target)
+{
+       return container_of(target->arch_info, struct xscale_common_s,
+                       armv4_5_common);
+}
+
 typedef struct xscale_reg_s
 {
        int dbg_handler_number;
@@ -170,10 +172,4 @@ enum
 
 #define ERROR_XSCALE_NO_TRACE_DATA     (-1500)
 
-/* This XScale "debug handler" is loaded into the processor's
- * mini-ICache, which is 2K of code writable only via JTAG.
- */
-extern const uint8_t xscale_debug_handler[];
-extern const uint32_t xscale_debug_handler_size;
-
 #endif /* XSCALE_H */