diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-10-12 02:39:01 -0700 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2009-10-12 02:39:01 -0700 |
commit | 9f6c23f47932eba99acd90949d0388e5ef1fbe35 (patch) | |
tree | bf187f5e1caa568156efd1b79a2dd575e82c910d /src/target/xscale.h | |
parent | 026559068d889660ad4545ee28b6561c82c39aea (diff) |
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.h | 24 |
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; |