aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/target/aarch64.c3
-rw-r--r--src/target/armv8.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/src/target/aarch64.c b/src/target/aarch64.c
index 30ef547..d11fd94 100644
--- a/src/target/aarch64.c
+++ b/src/target/aarch64.c
@@ -102,6 +102,7 @@ static int aarch64_restore_system_control_reg(struct target *target)
case ARM_MODE_FIQ:
case ARM_MODE_IRQ:
case ARM_MODE_HYP:
+ case ARM_MODE_UND:
case ARM_MODE_SYS:
instr = ARMV4_5_MCR(15, 0, 0, 1, 0, 0);
break;
@@ -180,6 +181,7 @@ static int aarch64_mmu_modify(struct target *target, int enable)
case ARM_MODE_FIQ:
case ARM_MODE_IRQ:
case ARM_MODE_HYP:
+ case ARM_MODE_UND:
case ARM_MODE_SYS:
instr = ARMV4_5_MCR(15, 0, 0, 1, 0, 0);
break;
@@ -1049,6 +1051,7 @@ static int aarch64_post_debug_entry(struct target *target)
case ARM_MODE_FIQ:
case ARM_MODE_IRQ:
case ARM_MODE_HYP:
+ case ARM_MODE_UND:
case ARM_MODE_SYS:
instr = ARMV4_5_MRC(15, 0, 0, 1, 0, 0);
break;
diff --git a/src/target/armv8.c b/src/target/armv8.c
index 26116bb..2de1157 100644
--- a/src/target/armv8.c
+++ b/src/target/armv8.c
@@ -78,6 +78,10 @@ static const struct {
.psr = ARM_MODE_HYP,
},
{
+ .name = "UND",
+ .psr = ARM_MODE_UND,
+ },
+ {
.name = "SYS",
.psr = ARM_MODE_SYS,
},