diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2018-10-31 18:13:06 +0100 |
---|---|---|
committer | Matthias Welwarsky <matthias@welwarsky.de> | 2018-11-06 12:18:32 +0000 |
commit | fac9be64d9444138c77ffe45078a85e063593a38 (patch) | |
tree | 475a614a877308fa7d0e70432dc52da3cb39b5da /src/target/armv7a.h | |
parent | e63dab08986e7ec28acdb0bcc592305239810a48 (diff) | |
download | riscv-openocd-fac9be64d9444138c77ffe45078a85e063593a38.zip riscv-openocd-fac9be64d9444138c77ffe45078a85e063593a38.tar.gz riscv-openocd-fac9be64d9444138c77ffe45078a85e063593a38.tar.bz2 |
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>
Diffstat (limited to 'src/target/armv7a.h')
-rw-r--r-- | src/target/armv7a.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/target/armv7a.h b/src/target/armv7a.h index 57779c6..cf93880 100644 --- a/src/target/armv7a.h +++ b/src/target/armv7a.h @@ -106,8 +106,6 @@ struct armv7a_common { struct arm_dpm dpm; uint32_t debug_base; struct adiv5_ap *debug_ap; - struct adiv5_ap *memory_ap; - bool memory_ap_available; /* mdir */ uint8_t multi_processor_system; uint8_t cluster_id; |