Improve arm_adi_v5 command argument parsing.
[fw/openocd] / src / target / arm7tdmi.c
index 02886c36da6e20c29dc9d7e3bed2cf53f344caef..ec7b4f9ec2d044d1685bee3a9884041a7d420396 100644 (file)
@@ -5,7 +5,7 @@
  *   Copyright (C) 2008 by Spencer Oliver                                  *
  *   spen@spen-soft.co.uk                                                  *
  *                                                                         *
- *   Copyright (C) 2007,2008 Øyvind Harboe                                 *
+ *   Copyright (C) 2007,2008 Øyvind Harboe                                 *
  *   oyvind.harboe@zylin.com                                               *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -38,7 +38,6 @@
 /* forward declarations */
 
 int arm7tdmi_target_create(struct target_s *target,Jim_Interp *interp);
-int arm7tdmi_quit(void);
 
 /* target function declarations */
 int arm7tdmi_poll(struct target_s *target);
@@ -80,7 +79,6 @@ target_type_t arm7tdmi_target =
        .target_create  = arm7tdmi_target_create,
        .init_target = arm7tdmi_init_target,
        .examine = arm7tdmi_examine,
-       .quit = arm7tdmi_quit
 };
 
 int arm7tdmi_examine_debug_reason(target_t *target)
@@ -110,14 +108,14 @@ int arm7tdmi_examine_debug_reason(target_t *target)
                fields[1].out_value = NULL;
                fields[1].in_value = databus;
 
-               if((retval = arm_jtag_scann(&arm7_9->jtag_info, 0x1)) != ERROR_OK)
+               if ((retval = arm_jtag_scann(&arm7_9->jtag_info, 0x1)) != ERROR_OK)
                {
                        return retval;
                }
                arm_jtag_set_instr(&arm7_9->jtag_info, arm7_9->jtag_info.intest_instr, NULL);
 
                jtag_add_dr_scan(2, fields, jtag_set_end_state(TAP_DRPAUSE));
-               if((retval = jtag_execute_queue()) != ERROR_OK)
+               if ((retval = jtag_execute_queue()) != ERROR_OK)
                {
                        return retval;
                }
@@ -171,7 +169,7 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, uint32_t *in)
        scan_field_t fields[2];
 
        jtag_set_end_state(TAP_DRPAUSE);
-       if((retval = arm_jtag_scann(jtag_info, 0x1)) != ERROR_OK)
+       if ((retval = arm_jtag_scann(jtag_info, 0x1)) != ERROR_OK)
        {
                return retval;
        }
@@ -195,7 +193,7 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, uint32_t *in)
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
 {
-               if((retval = jtag_execute_queue()) != ERROR_OK)
+               if ((retval = jtag_execute_queue()) != ERROR_OK)
                {
                        return retval;
                }
@@ -216,9 +214,9 @@ int arm7tdmi_clock_data_in(arm_jtag_t *jtag_info, uint32_t *in)
 
 void arm_endianness(uint8_t *tmp, void *in, int size, int be, int flip)
 {
-       uint32_t readback=le_to_h_u32(tmp);
+       uint32_t readback = le_to_h_u32(tmp);
        if (flip)
-               readback=flip_u32(readback, 32);
+               readback = flip_u32(readback, 32);
        switch (size)
        {
                case 4:
@@ -247,14 +245,14 @@ void arm_endianness(uint8_t *tmp, void *in, int size, int be, int flip)
 
 static int arm7endianness(jtag_callback_data_t arg, jtag_callback_data_t size, jtag_callback_data_t be, jtag_callback_data_t captured)
 {
-  uint8_t *in=(uint8_t *)arg;
+  uint8_t *in = (uint8_t *)arg;
        arm_endianness((uint8_t *)captured, in, (int)size, (int)be, 1);
        return ERROR_OK;
 }
 
 /* clock the target, and read the databus
  * the *in pointer points to a buffer where elements of 'size' bytes
- * are stored in big (be==1) or little (be==0) endianness
+ * are stored in big (be == 1) or little (be == 0) endianness
  */
 int arm7tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size, int be)
 {
@@ -262,7 +260,7 @@ int arm7tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
        scan_field_t fields[2];
 
        jtag_set_end_state(TAP_DRPAUSE);
-       if((retval = arm_jtag_scann(jtag_info, 0x1)) != ERROR_OK)
+       if ((retval = arm_jtag_scann(jtag_info, 0x1)) != ERROR_OK)
        {
                return retval;
        }
@@ -286,7 +284,7 @@ int arm7tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size,
 
 #ifdef _DEBUG_INSTRUCTION_EXECUTION_
 {
-               if((retval = jtag_execute_queue()) != ERROR_OK)
+               if ((retval = jtag_execute_queue()) != ERROR_OK)
                {
                        return retval;
                }
@@ -383,7 +381,7 @@ void arm7tdmi_read_core_regs(target_t *target, uint32_t mask, uint32_t* core_reg
        for (i = 0; i <= 15; i++)
        {
                if (mask & (1 << i))
-                       /* nothing fetched, STM still in EXECUTE (1+i cycle) */
+                       /* nothing fetched, STM still in EXECUTE (1 + i cycle) */
                        arm7tdmi_clock_data_in(jtag_info, core_regs[i]);
        }
 }
@@ -412,7 +410,7 @@ void arm7tdmi_read_core_regs_target_buffer(target_t *target, uint32_t mask, void
 
        for (i = 0; i <= 15; i++)
        {
-               /* nothing fetched, STM still in EXECUTE (1+i cycle), read databus */
+               /* nothing fetched, STM still in EXECUTE (1 + i cycle), read databus */
                if (mask & (1 << i))
                {
                        switch (size)
@@ -522,7 +520,7 @@ void arm7tdmi_write_core_regs(target_t *target, uint32_t mask, uint32_t core_reg
        for (i = 0; i <= 15; i++)
        {
                if (mask & (1 << i))
-                       /* nothing fetched, LDM still in EXECUTE (1+i cycle) */
+                       /* nothing fetched, LDM still in EXECUTE (1 + i cycle) */
                        arm7tdmi_clock_out_inner(jtag_info, core_regs[i], 0);
        }
        arm7tdmi_clock_out_inner(jtag_info, ARMV4_5_NOP, 0);
@@ -724,8 +722,8 @@ int arm7tdmi_examine(struct target_s *target)
        {
                /* get pointers to arch-specific information */
                reg_cache_t **cache_p = register_get_last_cache_p(&target->reg_cache);
-               reg_cache_t *t=embeddedice_build_reg_cache(target, arm7_9);
-               if (t==NULL)
+               reg_cache_t *t = embeddedice_build_reg_cache(target, arm7_9);
+               if (t == NULL)
                        return ERROR_FAIL;
 
                (*cache_p) = t;
@@ -739,13 +737,13 @@ int arm7tdmi_examine(struct target_s *target)
                }
                target_set_examined(target);
        }
-       if ((retval=embeddedice_setup(target))!=ERROR_OK)
+       if ((retval = embeddedice_setup(target)) != ERROR_OK)
                return retval;
-       if ((retval=arm7_9_setup(target))!=ERROR_OK)
+       if ((retval = arm7_9_setup(target)) != ERROR_OK)
                return retval;
        if (arm7_9->etm_ctx)
        {
-               if ((retval=etm_setup(target))!=ERROR_OK)
+               if ((retval = etm_setup(target)) != ERROR_OK)
                        return retval;
        }
        return ERROR_OK;
@@ -758,11 +756,6 @@ int arm7tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *tar
        return ERROR_OK;
 }
 
-int arm7tdmi_quit(void)
-{
-       return ERROR_OK;
-}
-
 int arm7tdmi_init_arch_info(target_t *target, arm7tdmi_common_t *arm7tdmi, jtag_tap_t *tap)
 {
        armv4_5_common_t *armv4_5;
@@ -801,7 +794,6 @@ int arm7tdmi_init_arch_info(target_t *target, arm7tdmi_common_t *arm7tdmi, jtag_
        arm7_9->enable_single_step = arm7_9_enable_eice_step;
        arm7_9->disable_single_step = arm7_9_disable_eice_step;
 
-       arm7_9->pre_debug_entry = NULL;
        arm7_9->post_debug_entry = NULL;
 
        arm7_9->pre_restore_context = NULL;
@@ -822,12 +814,13 @@ int arm7tdmi_init_arch_info(target_t *target, arm7tdmi_common_t *arm7tdmi, jtag_
        return ERROR_OK;
 }
 
-int arm7tdmi_target_create( struct target_s *target, Jim_Interp *interp )
+int arm7tdmi_target_create(struct target_s *target, Jim_Interp *interp)
 {
        arm7tdmi_common_t *arm7tdmi;
 
        arm7tdmi = calloc(1,sizeof(arm7tdmi_common_t));
        arm7tdmi_init_arch_info(target, arm7tdmi, target->tap);
+       arm7tdmi->arm7_9_common.armv4_5_common.is_armv4 = true;
 
        return ERROR_OK;
 }