aarch64: fix debug entry from EL0
commitffd6b78a2c47d1c15629dc72c71caea30ef8161a
authorMatthias Welwarsky <matthias.welwarsky@sysgo.com>
Mon, 12 Mar 2018 15:56:05 +0000 (12 16:56 +0100)
committerMatthias Welwarsky <matthias@welwarsky.de>
Fri, 16 Mar 2018 08:58:06 +0000 (16 08:58 +0000)
treec2a7f4efa9c41216c1df83878eea904d80ca6e3a
parent935f0c5cc28a3a2cc627ff25b30d65d8d82ad8c4
aarch64: fix debug entry from EL0

If we enter debug state from EL0, some registers are not accessible.
Temporarily move to EL1H and back to gain access. Also, fix
armv8_dpm_modeswitch() to not immediately restore the previous state
on elevating the privilege level.

Change-Id: Ic2a92109230ff4eb6834c00ef544397a5b7ad56a
Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com>
Reviewed-on: http://openocd.zylin.com/4461
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
src/target/aarch64.c
src/target/armv8.c
src/target/armv8_cache.c
src/target/armv8_dpm.c
src/target/armv8_dpm.h