Now that we have this DPM component, it can (and IMO should!) handle
more of the cases where the ARMv6 and ARMv7 code have needlessly
unique implementations.  This patch addresses coprocessor stuff:

 - stop using read_cp15/write_cp15 methods in
        * armv7a.c
        * cortex_a8.c
 - add and use DPM support for coprocessors
        * dpm.c ... makes other implementations become dead
        * arm11.c ... remove
        * cortex_a8.c ... remove

It's basically cleanup (see diffstat) but also there's a bit of
speedup since the DPM ops let code be removed:  instead of

        N * { prepare, access, finish }

it's now

        prepare, N * access, finish

which clearly wins whenever more than one coprocessor register
needs to be read or written (like cacheflush).

- Dave

 src/target/arm11.c     |   68 --------------------
 src/target/arm_dpm.c   |   55 ++++++++++++++++
 src/target/armv7a.c    |   39 ++++++++++-
 src/target/armv7a.h    |    7 --
 src/target/cortex_a8.c |  166 +++++++++++++++----------------------------------
 5 files changed, 144 insertions(+), 191 deletions(-)
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to