summaryrefslogtreecommitdiff
path: root/src/target/xscale.h
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-10-12 02:39:18 -0700
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-10-12 02:39:18 -0700
commit5e837387aa7260518cf43f53b66ee917d8660802 (patch)
treedcda25c76c4173ef34f5e01b4eced145bcb76e8f /src/target/xscale.h
parent9f6c23f47932eba99acd90949d0388e5ef1fbe35 (diff)
downloadopenocd+libswd-5e837387aa7260518cf43f53b66ee917d8660802.tar.gz
openocd+libswd-5e837387aa7260518cf43f53b66ee917d8660802.tar.bz2
openocd+libswd-5e837387aa7260518cf43f53b66ee917d8660802.tar.xz
openocd+libswd-5e837387aa7260518cf43f53b66ee917d8660802.zip
simplify XScale debug handler installation
Load the XScale debug handler from the read-only data section instead of from a separate file that can get lost or garbaged. This eliminates installation and versioning issues, and also speeds up reset handling a bit. Plus some minor bits of cleanup related to loading that handler: comments about just what this handler does, and check fault codes while writing it into the mini-icache. The only behavioral changes should be cleaner failure modes after errors during handler loading, and being a bit faster. NOTE: presumes GNU assembly syntax, with ".incbin"; and ELF, because of the syntax of the ".size" directive. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src/target/xscale.h')
-rw-r--r--src/target/xscale.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/target/xscale.h b/src/target/xscale.h
index a5d83ee6..9d92550a 100644
--- a/src/target/xscale.h
+++ b/src/target/xscale.h
@@ -170,4 +170,10 @@ 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 */