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>
This commit is contained in:
David Brownell
2009-10-12 02:39:18 -07:00
parent 9f6c23f479
commit 5e837387aa
6 changed files with 59 additions and 45 deletions

View File

@@ -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 */