arm_adi_v5: parse ROM tables behind SoC-600 APv1 adapter
[fw/openocd] / src / target / hla_target.c
index c67c9cc897633f4827c899c74fb822b4ebb71104..487ffe7c9970439482f1d5545df0714457e0859f 100644 (file)
@@ -203,7 +203,7 @@ static int adapter_target_create(struct target *target,
 {
        LOG_DEBUG("%s", __func__);
        struct adiv5_private_config *pc = target->private_config;
-       if (pc && pc->ap_num > 0) {
+       if (pc && pc->ap_num != DP_APSEL_INVALID && pc->ap_num != 0) {
                LOG_ERROR("hla_target: invalid parameter -ap-num (> 0)");
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
@@ -214,6 +214,8 @@ static int adapter_target_create(struct target *target,
                return ERROR_FAIL;
        }
 
+       cortex_m->common_magic = CORTEX_M_COMMON_MAGIC;
+
        adapter_init_arch_info(target, cortex_m, target->tap);
 
        return ERROR_OK;
@@ -621,7 +623,7 @@ static int adapter_write_memory(struct target *target, target_addr_t address,
        return adapter->layout->api->write_mem(adapter->handle, address, size, count, buffer);
 }
 
-static const struct command_registration adapter_command_handlers[] = {
+static const struct command_registration hla_command_handlers[] = {
        {
                .chain = arm_command_handlers,
        },
@@ -647,7 +649,7 @@ struct target_type hla_target = {
        .target_create = adapter_target_create,
        .target_jim_configure = adiv5_jim_configure,
        .examine = cortex_m_examine,
-       .commands = adapter_command_handlers,
+       .commands = hla_command_handlers,
 
        .poll = adapter_poll,
        .arch_state = armv7m_arch_state,