aboutsummaryrefslogtreecommitdiff
path: root/src/target/armv7a.h
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2018-10-31 18:13:06 +0100
committerMatthias Welwarsky <matthias@welwarsky.de>2018-11-06 12:18:32 +0000
commitfac9be64d9444138c77ffe45078a85e063593a38 (patch)
tree475a614a877308fa7d0e70432dc52da3cb39b5da /src/target/armv7a.h
parente63dab08986e7ec28acdb0bcc592305239810a48 (diff)
downloadriscv-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.h2
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;