cortex_m: add detection of Cortex M35P and M55
[fw/openocd] / src / target / arm11.c
index 13fbd207a2f91d7ee54f5ce9ec49b8c3b6f5ba75..68d4e18944324e076053ce0b2e35005873c5ef77 100644 (file)
@@ -442,8 +442,8 @@ static uint32_t arm11_nextpc(struct arm11_common *arm11, int current, uint32_t a
        }
 
        buf_set_u32(value, 0, 32, address);
-       arm11->arm.pc->dirty = 1;
-       arm11->arm.pc->valid = 1;
+       arm11->arm.pc->dirty = true;
+       arm11->arm.pc->valid = true;
 
        return address;
 }
@@ -1105,11 +1105,11 @@ static int arm11_target_create(struct target *target, Jim_Interp *interp)
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
 
-       arm11 = calloc(1, sizeof *arm11);
+       arm11 = calloc(1, sizeof(*arm11));
        if (!arm11)
                return ERROR_FAIL;
 
-       arm11->arm.core_type = ARM_MODE_ANY;
+       arm11->arm.core_type = ARM_CORE_TYPE_STD;
        arm_init_arch_info(target, &arm11->arm);
 
        arm11->jtag_info.tap = target->tap;
@@ -1131,6 +1131,14 @@ static int arm11_init_target(struct command_context *cmd_ctx,
        return ERROR_OK;
 }
 
+static void arm11_deinit_target(struct target *target)
+{
+       struct arm11_common *arm11 = target_to_arm11(target);
+
+       arm11_dpm_deinit(arm11);
+       free(arm11);
+}
+
 /* talk to the target and set things up */
 static int arm11_examine(struct target *target)
 {
@@ -1180,7 +1188,7 @@ static int arm11_examine(struct target *target)
                        type = "ARM1156";
                        break;
                case 0x7B76:
-                       arm11->arm.core_type = ARM_MODE_MON;
+                       arm11->arm.core_type = ARM_CORE_TYPE_SEC_EXT;
                        /* NOTE: could default arm11->hardware_step to true */
                        type = "ARM1176";
                        break;
@@ -1362,6 +1370,7 @@ struct target_type arm11_target = {
        .assert_reset = arm11_assert_reset,
        .deassert_reset = arm11_deassert_reset,
 
+       .get_gdb_arch = arm_get_gdb_arch,
        .get_gdb_reg_list = arm_get_gdb_reg_list,
 
        .read_memory = arm11_read_memory,
@@ -1378,5 +1387,6 @@ struct target_type arm11_target = {
        .commands = arm11_command_handlers,
        .target_create = arm11_target_create,
        .init_target = arm11_init_target,
+       .deinit_target = arm11_deinit_target,
        .examine = arm11_examine,
 };