summaryrefslogtreecommitdiff
path: root/src/target/xscale_debug.S
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_debug.S
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_debug.S')
-rw-r--r--src/target/xscale_debug.S13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/target/xscale_debug.S b/src/target/xscale_debug.S
new file mode 100644
index 00000000..0a7b87d2
--- /dev/null
+++ b/src/target/xscale_debug.S
@@ -0,0 +1,13 @@
+ .section .rodata
+
+ .align 4
+ .global xscale_debug_handler
+xscale_debug_handler:
+ .incbin "xscale/debug_handler.bin"
+ .size xscale_debug_handler, . - xscale_debug_handler
+
+ .align 4
+ .global xscale_debug_handler_size
+xscale_debug_handler_size:
+ .word . - xscale_debug_handler
+ .size xscale_debug_handler_size, 4