target/cortex_a: remove buggy memory AP accesses 48/4748/3
authorAntonio Borneo <borneo.antonio@gmail.com>
Wed, 31 Oct 2018 17:13:06 +0000 (18:13 +0100)
committerMatthias Welwarsky <matthias@welwarsky.de>
Tue, 6 Nov 2018 12:18:32 +0000 (12:18 +0000)
commitfac9be64d9444138c77ffe45078a85e063593a38
tree475a614a877308fa7d0e70432dc52da3cb39b5da
parente63dab08986e7ec28acdb0bcc592305239810a48
target/cortex_a: remove buggy memory AP accesses

The armv7m debug port provides a direct access to the CPU memory
bus, allowing the debugger to bypass the CPU for every memory
operation.
The armv7a debug port doesn't offer the same feature, mainly
because CPU caches and MMU makes the direct memory access more
tricky. Nevertheless most SoC with armv7a provide direct memory
access through an AHB bus available on another DAP access port,
different from the debug port.

The original port of cortex_a in OpenOCD was inspired from the
working cortex_m code, and provided optional memory access
through the AHB, if present.
The code for AHB access is problematic and partially buggy due
to incomplete management of cache coherency and missing check of
page boundary during virtual address operations.

With the commit 5d458cf72734a4474f38bbed10eea4d9acfe93a2
("target/mem_ap: generic mem-ap target") we have a clean support
for memory access through system buses connected to DAP AP, which
obsoletes the buggy memory AP hack in cortex_a.

Remove any code that uses the memory AP accesses in cortex_a.

Change-Id: I7cd1f94885e5817448058953e043d8da90dea3cc
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4748
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
src/target/armv7a.h
src/target/cortex_a.c