summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Welwarsky <matthias.welwarsky@sysgo.com>2017-02-17 16:22:52 +0100
committerPaul Fertser <fercerpav@gmail.com>2017-02-24 09:50:14 +0000
commit9981093ce076a388700b2f307a9dc79e14a6e0f1 (patch)
tree893f1c9c54ab1bbbfa76341e8fa183095d56a5cd
parentb73628141a932881953bb816ec7bfa47d9e40680 (diff)
armv8_dpm: fix exception handling
after handling of an exception in debug state, immediately restore the original core state. Change-Id: Ie53b63c9f19815f717f4df4390fbc13f0a204cc2 Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com> Reviewed-on: http://openocd.zylin.com/3996 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
-rw-r--r--src/target/armv8_dpm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/target/armv8_dpm.c b/src/target/armv8_dpm.c
index e5d10df..f4e7a07 100644
--- a/src/target/armv8_dpm.c
+++ b/src/target/armv8_dpm.c
@@ -1312,6 +1312,8 @@ void armv8_dpm_handle_exception(struct arm_dpm *dpm)
core_state = armv8_dpm_get_core_state(dpm);
armv8_select_opcodes(armv8, core_state == ARM_STATE_AARCH64);
armv8_select_reg_access(armv8, core_state == ARM_STATE_AARCH64);
+
+ armv8_dpm_modeswitch(dpm, ARM_MODE_ANY);
}
/*----------------------------------------------------------------------*/