summaryrefslogtreecommitdiff
path: root/ecosflash/flash.S
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-11-24 21:24:44 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-11-24 21:24:44 -0800
commitb6210907ea584095cdede663f695eb8afeecef14 (patch)
tree13844914f68dc154959a27c914e9160ceb658817 /ecosflash/flash.S
parente109bb6af211d3916e4006127945d128b138529b (diff)
downloadopenocd_libswd-b6210907ea584095cdede663f695eb8afeecef14.tar.gz
openocd_libswd-b6210907ea584095cdede663f695eb8afeecef14.tar.bz2
openocd_libswd-b6210907ea584095cdede663f695eb8afeecef14.tar.xz
openocd_libswd-b6210907ea584095cdede663f695eb8afeecef14.zip
Cortex-A8: avoid DSCR reads
There was a lot of needless handshaking overhead in the current Cortex-A8 DCC/ITR operations, since the status read by each step was discarded rather than letting the next step know it. This shrinks the handshaking by: (a) passing status along from previous steps, avoiding re-fetching; which enables the big win (b) relying on a useful invariant: that the DSCR_INSTR_COMP bit is set after every call to a DPM method. A "reg sp_usr" call previously took 17 flushes; now it takes just 9. This visibly speeds common operations like entry to debug state and stepping, as well as "arm reg" and so on. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'ecosflash/flash.S')
0 files changed, 0 insertions, 0 deletions