summaryrefslogtreecommitdiff
path: root/src/target/xscale.h
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-10-12 02:39:01 -0700
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-10-12 02:39:01 -0700
commit9f6c23f47932eba99acd90949d0388e5ef1fbe35 (patch)
treebf187f5e1caa568156efd1b79a2dd575e82c910d /src/target/xscale.h
parent026559068d889660ad4545ee28b6561c82c39aea (diff)
downloadopenocd+libswd-9f6c23f47932eba99acd90949d0388e5ef1fbe35.tar.gz
openocd+libswd-9f6c23f47932eba99acd90949d0388e5ef1fbe35.tar.bz2
openocd+libswd-9f6c23f47932eba99acd90949d0388e5ef1fbe35.tar.xz
openocd+libswd-9f6c23f47932eba99acd90949d0388e5ef1fbe35.zip
more xscale cleanup (mostly removing JTAG hooks)
Streamline/shrink some needless JTAG stuff: - Use #defines for the JTAG instructions; they can't ever change - Remove an unused (!) shadow of tap->ir_length - Stop using a copy of target->tap - Don't bother saving the variant after sanity checking ir_length Also, make target_create() work as on other targets: build the register cache later, making init_target() no longer be a NOP. Handle malloc failure; remove a comment that was obsoleted by the not-so-new target syntax. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src/target/xscale.h')
-rw-r--r--src/target/xscale.h24
1 files changed, 7 insertions, 17 deletions
diff --git a/src/target/xscale.h b/src/target/xscale.h
index 6cfe76e6..a5d83ee6 100644
--- a/src/target/xscale.h
+++ b/src/target/xscale.h
@@ -29,18 +29,13 @@
#define XSCALE_COMMON_MAGIC 0x58534341
-typedef struct xscale_jtag_s
-{
- /* position in JTAG scan chain */
- jtag_tap_t *tap;
-
- /* IR length and instructions */
- int ir_length;
- uint32_t dbgrx;
- uint32_t dbgtx;
- uint32_t ldic;
- uint32_t dcsr;
-} xscale_jtag_t;
+/* These four JTAG instructions are architecturally defined.
+ * Lengths are core-specific; originally 5 bits, later 7.
+ */
+#define XSCALE_DBGRX 0x02
+#define XSCALE_DBGTX 0x10
+#define XSCALE_LDIC 0x07
+#define XSCALE_SELDCSR 0x09
enum xscale_debug_reason
{
@@ -90,11 +85,6 @@ typedef struct xscale_common_s
/* XScale registers (CP15, DBG) */
reg_cache_t *reg_cache;
- /* pxa250, pxa255, pxa27x, ixp42x, ... */
- char *variant;
-
- xscale_jtag_t jtag_info;
-
/* current state of the debug handler */
int handler_installed;
int handler_running;