aarch64: support for aarch32 ARM_MODE_UND
authorJulien Massot <julien.massot@iot.bzh>
Wed, 12 Jan 2022 08:41:13 +0000 (09:41 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 29 Jan 2022 18:20:48 +0000 (18:20 +0000)
Fix:
unrecognized psr mode: 0x1b
cannot read system control register in this mode: (UNRECOGNIZED : 0x1b)

Change-Id: I4dc3e72f90d57e52c0fe63cb59a7529a398757b3

Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Change-Id: Ifa5d21ae97492fde9e8c79ee7d99d8a2a871b1b5
Reviewed-on: https://review.openocd.org/c/openocd/+/6808
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/target/aarch64.c
src/target/armv8.c

index 30ef54792a6edbb447324718523e7865dd4db94c..d11fd943bd1b9354acb5cd2c880093a205f552b2 100644 (file)
@@ -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;
index 26116bb335c00655d2163a9ee94b8917b888f56d..2de11571291193cffc42e3040ef5a3356f9a5c06 100644 (file)
@@ -77,6 +77,10 @@ static const struct {
                .name = "HYP",
                .psr = ARM_MODE_HYP,
        },
+       {
+               .name = "UND",
+               .psr = ARM_MODE_UND,
+       },
        {
                .name = "SYS",
                .psr = ARM_MODE_SYS,