C99 printf() -Werror fixes
[fw/openocd] / src / target / xscale.h
index 86acfbdee7a3f724bafd31345c2f92a60df10582..8015c2bbe410fd2e3e3d2421fa2f24894402a114 100644 (file)
@@ -2,6 +2,9 @@
  *   Copyright (C) 2005 by Dominic Rath                                    *
  *   Dominic.Rath@gmx.de                                                   *
  *                                                                         *
+ *   Copyright (C) 2007,2008 Ã˜yvind Harboe                                 *
+ *   oyvind.harboe@zylin.com                                               *
+ *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  *   the Free Software Foundation; either version 2 of the License, or     *
 #ifndef XSCALE_H
 #define XSCALE_H
 
-#include "target.h"
-#include "register.h"
 #include "armv4_5.h"
 #include "armv4_5_mmu.h"
 #include "trace.h"
-#include "image.h"
 
 #define        XSCALE_COMMON_MAGIC 0x58534341
 
 typedef struct xscale_jtag_s
 {
        /* position in JTAG scan chain */
-       int chain_pos;
+       jtag_tap_t *tap;
 
        /* IR length and instructions */        
        int ir_length;
-       u32 dbgrx;
-       u32 dbgtx;
-       u32 ldic;
-       u32 dcsr;
+       uint32_t dbgrx;
+       uint32_t dbgtx;
+       uint32_t ldic;
+       uint32_t dcsr;
 } xscale_jtag_t;
 
 enum xscale_debug_reason
@@ -51,13 +51,13 @@ enum xscale_debug_reason
 
 enum xscale_trace_entry_type
 {
-       XSCALE_TRACE_MESSAGE,
-       XSCALE_TRACE_ADDRESS,
+       XSCALE_TRACE_MESSAGE = 0x0,
+       XSCALE_TRACE_ADDRESS = 0x1,
 };
 
 typedef struct xscale_trace_entry_s
 {
-       u8 data;
+       uint8_t data;
        enum xscale_trace_entry_type type;
 } xscale_trace_entry_t;
 
@@ -65,21 +65,21 @@ typedef struct xscale_trace_data_s
 {
        xscale_trace_entry_t *entries;
        int depth;
-       u32 chkpt0;
-       u32 chkpt1;
-       u32 last_instruction;
+       uint32_t chkpt0;
+       uint32_t chkpt1;
+       uint32_t last_instruction;
        struct xscale_trace_data_s *next;
 } xscale_trace_data_t;
 
 typedef struct xscale_trace_s
 {
        trace_status_t capture_status;  /* current state of capture run */
-       image_t *image;                                 /* source for target opcodes */
+       struct image_s *image;                                  /* source for target opcodes */
        xscale_trace_data_t *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;
-       u32 current_pc;
+       uint32_t current_pc;
        armv4_5_state_t core_state;             /* current core state (ARM, Thumb, Jazelle) */
 } xscale_trace_t;
 
@@ -98,37 +98,36 @@ typedef struct xscale_common_s
        /* current state of the debug handler */
        int handler_installed;
        int handler_running;
-       u32 handler_address;
+       uint32_t handler_address;
        
        /* target-endian buffers with exception vectors */
-       u32 low_vectors[8];
-       u32 high_vectors[8];
+       uint32_t low_vectors[8];
+       uint32_t high_vectors[8];
        
        /* static low vectors */
-       u8 static_low_vectors_set;      /* bit field with static vectors set by the user */
-       u8 static_high_vectors_set; /* bit field with static vectors set by the user */
-       u32 static_low_vectors[8];
-       u32 static_high_vectors[8];
+       uint8_t static_low_vectors_set; /* bit field with static vectors set by the user */
+       uint8_t static_high_vectors_set; /* bit field with static vectors set by the user */
+       uint32_t static_low_vectors[8];
+       uint32_t static_high_vectors[8];
 
        /* DCache cleaning */   
-       u32 cache_clean_address;
+       uint32_t cache_clean_address;
        
        /* whether hold_rst and ext_dbg_break should be set */
        int hold_rst;
        int external_debug_break;
        
        /* breakpoint / watchpoint handling */
-       int force_hw_bkpts;
        int dbr_available;
        int dbr0_used;
        int dbr1_used;
        int ibcr_available;
        int ibcr0_used;
        int     ibcr1_used;
-       u32 arm_bkpt;
-       u16 thumb_bkpt;
+       uint32_t arm_bkpt;
+       uint16_t thumb_bkpt;
        
-       u8 vector_catch;
+       uint8_t vector_catch;
 
        xscale_trace_t trace;
        
@@ -139,10 +138,12 @@ typedef struct xscale_common_s
        
        /* MMU/Caches */
        armv4_5_mmu_common_t armv4_5_mmu;
-       u32 cp15_control_reg;
+       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