command_handler: change to 'argc' to CMD_ARGC
[fw/openocd] / src / target / arm9tdmi.c
index 44a978ad58f5037cbc3cc6805c12e06451548f0f..b582eae3319ea3cff8efe2d4a29a1965c64d623b 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "arm9tdmi.h"
 #include "target_type.h"
+#include "register.h"
 
 
 /*
 #define _DEBUG_INSTRUCTION_EXECUTION_
 #endif
 
-static const struct arm9tdmi_vector arm9tdmi_vectors[] =
+enum arm9tdmi_vector_bit
 {
+       ARM9TDMI_RESET_VECTOR = 0x01,
+       ARM9TDMI_UNDEF_VECTOR = 0x02,
+       ARM9TDMI_SWI_VECTOR = 0x04,
+       ARM9TDMI_PABT_VECTOR = 0x08,
+       ARM9TDMI_DABT_VECTOR = 0x10,
+       /* BIT(5) reserved -- must be zero */
+       ARM9TDMI_IRQ_VECTOR = 0x40,
+       ARM9TDMI_FIQ_VECTOR = 0x80,
+};
+
+static const struct arm9tdmi_vector {
+       char *name;
+       uint32_t value;
+} arm9tdmi_vectors[] = {
        {"reset", ARM9TDMI_RESET_VECTOR},
        {"undef", ARM9TDMI_UNDEF_VECTOR},
        {"swi", ARM9TDMI_SWI_VECTOR},
@@ -749,14 +764,9 @@ int arm9tdmi_init_target(struct command_context *cmd_ctx,
        return ERROR_OK;
 }
 
-int arm9tdmi_init_arch_info(struct target *target, struct arm9tdmi_common *arm9tdmi, struct jtag_tap *tap)
+int arm9tdmi_init_arch_info(struct target *target,
+               struct arm7_9_common *arm7_9, struct jtag_tap *tap)
 {
-       struct arm *armv4_5;
-       struct arm7_9_common *arm7_9;
-
-       arm7_9 = &arm9tdmi->arm7_9_common;
-       armv4_5 = &arm7_9->armv4_5_common;
-
        /* prepare JTAG information for the new target */
        arm7_9->jtag_info.tap = tap;
        arm7_9->jtag_info.scann_size = 5;
@@ -811,10 +821,10 @@ int arm9tdmi_init_arch_info(struct target *target, struct arm9tdmi_common *arm9t
 
 static int arm9tdmi_target_create(struct target *target, Jim_Interp *interp)
 {
-       struct arm9tdmi_common *arm9tdmi = calloc(1,sizeof(struct arm9tdmi_common));
+       struct arm7_9_common *arm7_9 = calloc(1,sizeof(struct arm7_9_common));
 
-       arm9tdmi_init_arch_info(target, arm9tdmi, target->tap);
-       arm9tdmi->arm7_9_common.armv4_5_common.is_armv4 = true;
+       arm9tdmi_init_arch_info(target, arm7_9, target->tap);
+       arm7_9->armv4_5_common.is_armv4 = true;
 
        return ERROR_OK;
 }
@@ -843,7 +853,7 @@ COMMAND_HANDLER(handle_arm9tdmi_catch_vectors_command)
        /* get the current setting */
        vector_catch_value = buf_get_u32(vector_catch->value, 0, 8);
 
-       if (argc > 0)
+       if (CMD_ARGC > 0)
        {
                vector_catch_value = 0x0;
                if (strcmp(args[0], "all") == 0)
@@ -856,7 +866,7 @@ COMMAND_HANDLER(handle_arm9tdmi_catch_vectors_command)
                }
                else
                {
-                       for (unsigned i = 0; i < argc; i++)
+                       for (unsigned i = 0; i < CMD_ARGC; i++)
                        {
                                /* go through list of vectors */
                                unsigned j;
@@ -938,8 +948,9 @@ struct target_type arm9tdmi_target =
        .read_memory = arm7_9_read_memory,
        .write_memory = arm7_9_write_memory,
        .bulk_write_memory = arm7_9_bulk_write_memory,
-       .checksum_memory = arm7_9_checksum_memory,
-       .blank_check_memory = arm7_9_blank_check_memory,
+
+       .checksum_memory = arm_checksum_memory,
+       .blank_check_memory = arm_blank_check_memory,
 
        .run_algorithm = armv4_5_run_algorithm,