X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Fxscale.h;h=a71ec3514c0822ee214063d98df4f34126b14291;hp=49d4c71eccf445defdb126e89ab635461ee0066a;hb=ebe9b7a6611210d185be88697457819f01df43ab;hpb=3a550e5b5fe011e526b150a5d234b48e8e2aaad6 diff --git a/src/target/xscale.h b/src/target/xscale.h index 49d4c71ecc..a71ec3514c 100644 --- a/src/target/xscale.h +++ b/src/target/xscale.h @@ -18,8 +18,9 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * ***************************************************************************/ + #ifndef XSCALE_H #define XSCALE_H @@ -41,27 +42,23 @@ #define XSCALE_IXP4XX_PXA2XX 0x0 #define XSCALE_PXA3XX 0x4 -enum xscale_debug_reason -{ +enum xscale_debug_reason { XSCALE_DBG_REASON_GENERIC, XSCALE_DBG_REASON_RESET, XSCALE_DBG_REASON_TB_FULL, }; -enum xscale_trace_entry_type -{ +enum xscale_trace_entry_type { XSCALE_TRACE_MESSAGE = 0x0, XSCALE_TRACE_ADDRESS = 0x1, }; -struct xscale_trace_entry -{ +struct xscale_trace_entry { uint8_t data; enum xscale_trace_entry_type type; }; -struct xscale_trace_data -{ +struct xscale_trace_data { struct xscale_trace_entry *entries; int depth; uint32_t chkpt0; @@ -71,25 +68,22 @@ struct xscale_trace_data struct xscale_trace_data *next; }; -enum trace_mode -{ - XSCALE_TRACE_DISABLED, - XSCALE_TRACE_FILL, - XSCALE_TRACE_WRAP +enum trace_mode { + XSCALE_TRACE_DISABLED, + XSCALE_TRACE_FILL, + XSCALE_TRACE_WRAP }; -struct xscale_trace -{ +struct xscale_trace { struct image *image; /* source for target opcodes */ struct xscale_trace_data *data; /* linked list of collected trace data */ int buffer_fill; /* maximum number of trace runs to read */ - int fill_counter; /* running count during trace collection */ - enum trace_mode mode; + int fill_counter; /* running count during trace collection */ + enum trace_mode mode; enum arm_state core_state; /* current core state (ARM, Thumb) */ }; -struct xscale_common -{ +struct xscale_common { /* armv4/5 common stuff */ struct arm arm; @@ -147,18 +141,15 @@ struct xscale_common static inline struct xscale_common * target_to_xscale(struct target *target) { - return container_of(target->arch_info, struct xscale_common, - arm); + return container_of(target->arch_info, struct xscale_common, arm); } -struct xscale_reg -{ +struct xscale_reg { int dbg_handler_number; struct target *target; }; -enum -{ +enum { XSCALE_MAINID, /* 0 */ XSCALE_CACHETYPE, XSCALE_CTRL, @@ -185,4 +176,15 @@ enum #define ERROR_XSCALE_NO_TRACE_DATA (-700) +/* DCSR bit and field definitions */ +#define DCSR_TR (1 << 16) +#define DCSR_TU (1 << 17) +#define DCSR_TS (1 << 18) +#define DCSR_TA (1 << 19) +#define DCSR_TD (1 << 20) +#define DCSR_TI (1 << 22) +#define DCSR_TF (1 << 23) +#define DCSR_TRAP_MASK \ + (DCSR_TF | DCSR_TI | DCSR_TD | DCSR_TA | DCSR_TS | DCSR_TU | DCSR_TR) + #endif /* XSCALE_H */