diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-10-08 11:14:00 -0700 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2009-10-08 11:14:00 -0700 |
commit | a8234af06c16500426a421910886d26a46e6fa53 (patch) | |
tree | 557a5d04fb74e34980be1ac433217812ae1ade93 /src/jtag/jtag.h | |
parent | 40c9668b703389890d30ab5a410e39f6f1e5251e (diff) |
prevent abort via polling during jtag_reset
Observed:
openocd: core.c:318: jtag_checks: Assertion `jtag_trst == 0' failed.
The issue was that nothing disabled background polling during calls
from the TCL shell to "jtag_reset 1 1". Fix by moving the existing
poll-disable mechanism to the JTAG layer where it belongs, and then
augmenting it to always pay attention to TRST and SRST.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src/jtag/jtag.h')
-rw-r--r-- | src/jtag/jtag.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h index 0126b331..5085445f 100644 --- a/src/jtag/jtag.h +++ b/src/jtag/jtag.h @@ -737,4 +737,21 @@ int jtag_get_error(void); */ int jtag_error_clear(void); +/** + * Return true if it's safe for a background polling task to access the + * JTAG scan chain. Polling may be explicitly disallowed, and is also + * unsafe while nTRST is active or the JTAG clock is gated off., + */ +bool is_jtag_poll_safe(void); + +/** + * Return flag reporting whether JTAG polling is disallowed. + */ +bool jtag_poll_get_enabled(void); + +/** + * Assign flag reporting whether JTAG polling is disallowed. + */ +void jtag_poll_set_enabled(bool value); + #endif /* JTAG_H */ |