aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Welwarsky <matthias.welwarsky@sysgo.com>2018-01-22 12:28:37 +0100
committerMatthias Welwarsky <matthias@welwarsky.de>2018-01-26 10:53:09 +0000
commita640f139baa9fe4f44d428b1e4e1a9da245532ca (patch)
tree02ff1daddbf2292982547ebfed987cd4a03fb500 /src
parent64f1f7b1c179dcce4e008bef6bf9515c47ae4100 (diff)
aarch64: implement mmu on/off for aarch32
add decoding of aarch32 core modes (register layout is compatible) Change-Id: I34c3146a7b1f836d3006be2b76b036da055b3d3e Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com> Reviewed-on: http://openocd.zylin.com/4374 Tested-by: jenkins Reviewed-by: Forest Crossman <cyrozap@gmail.com> Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Diffstat (limited to 'src')
-rw-r--r--src/target/aarch64.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/target/aarch64.c b/src/target/aarch64.c
index 784274a0..bcfce659 100644
--- a/src/target/aarch64.c
+++ b/src/target/aarch64.c
@@ -161,8 +161,16 @@ static int aarch64_mmu_modify(struct target *target, int enable)
case ARMV8_64_EL3T:
instr = ARMV8_MSR_GP(SYSTEM_SCTLR_EL3, 0);
break;
+
+ case ARM_MODE_SVC:
+ case ARM_MODE_ABT:
+ case ARM_MODE_FIQ:
+ case ARM_MODE_IRQ:
+ instr = ARMV4_5_MCR(15, 0, 0, 1, 0, 0);
+ break;
+
default:
- LOG_DEBUG("unknown cpu state 0x%x" PRIx32, armv8->arm.core_state);
+ LOG_DEBUG("unknown cpu state 0x%" PRIx32, armv8->arm.core_mode);
break;
}