Looks good.

Michael

On Sat, May 23, 2009 at 11:08 PM, Zach Welch <z...@superlucidity.net> wrote:
> Hi all,
>
> The attached patch removes the cmd_queue_cur_state global variable,
> replacing all uses with calls to tap_set_state() or tap_get_state().
>
> While this seems completely trivial, I wanted to post it for review.
> Any objections?  All in favor?
>
> Cheers,
>
> Zach
>
> ---
>  jtag/jtag.c           |   13 ++++++-------
>  jtag/jtag.h           |    3 +--
>  jtag/zy1000.c         |    4 ++--
>  svf/svf.c             |    9 ++++++---
>  target/arm11_dbgtap.c |    4 ++--
>  xsvf/xsvf.c           |    4 ++--
>  6 files changed, 19 insertions(+), 18 deletions(-)
>
> Index: src/jtag/zy1000.c
> ===================================================================
> --- src/jtag/zy1000.c   (revision 1893)
> +++ src/jtag/zy1000.c   (working copy)
> @@ -709,7 +709,7 @@
>
>  int interface_jtag_add_clocks(int num_cycles)
>  {
> -       return zy1000_jtag_add_clocks(num_cycles, cmd_queue_cur_state, 
> cmd_queue_end_state);
> +       return zy1000_jtag_add_clocks(num_cycles, tap_get_state(), 
> cmd_queue_end_state);
>  }
>
>  int interface_jtag_add_sleep(u32 us)
> @@ -728,7 +728,7 @@
>
>        state_count = 0;
>
> -       tap_state_t cur_state=cmd_queue_cur_state;
> +       tap_state_t cur_state = tap_get_state();
>
>        while (num_states)
>        {
> Index: src/jtag/jtag.c
> ===================================================================
> --- src/jtag/jtag.c     (revision 1893)
> +++ src/jtag/jtag.c     (working copy)
> @@ -94,7 +94,6 @@
>
>  enum reset_types jtag_reset_config = RESET_NONE;
>  tap_state_t cmd_queue_end_state = TAP_RESET;
> -tap_state_t cmd_queue_cur_state = TAP_RESET;
>
>  int jtag_verify_capture_ir = 1;
>  int jtag_verify = 1;
> @@ -565,7 +564,7 @@
>        if (state != TAP_INVALID)
>                jtag_add_end_state(state);
>
> -       cmd_queue_cur_state = cmd_queue_end_state;
> +       tap_set_state(cmd_queue_end_state);
>  }
>
>  void jtag_add_ir_scan_noverify(int in_num_fields, const scan_field_t 
> *in_fields, tap_state_t state)
> @@ -1066,7 +1065,7 @@
>
>  void jtag_add_pathmove(int num_states, const tap_state_t *path)
>  {
> -       tap_state_t cur_state = cmd_queue_cur_state;
> +       tap_state_t cur_state = tap_get_state();
>        int i;
>        int retval;
>
> @@ -1097,7 +1096,7 @@
>        jtag_prelude1();
>
>        retval = interface_jtag_add_pathmove(num_states, path);
> -       cmd_queue_cur_state = path[num_states - 1];
> +       tap_set_state(path[num_states - 1]);
>        if (retval!=ERROR_OK)
>                jtag_error=retval;
>  }
> @@ -1168,11 +1167,11 @@
>  void jtag_add_clocks( int num_cycles )
>  {
>        int retval;
> -
> -       if( !tap_is_state_stable(cmd_queue_cur_state) )
> +       tap_state_t cur_state = tap_get_state();
> +       if( !tap_is_state_stable(cur_state) )
>        {
>                 LOG_ERROR( "jtag_add_clocks() was called with TAP in 
> non-stable state \"%s\"",
> -                                tap_state_name(cmd_queue_cur_state) );
> +                                tap_state_name(cur_state) );
>                 jtag_error = ERROR_JTAG_NOT_STABLE_STATE;
>                 return;
>        }
> Index: src/jtag/jtag.h
> ===================================================================
> --- src/jtag/jtag.h     (revision 1893)
> +++ src/jtag/jtag.h     (working copy)
> @@ -256,7 +256,6 @@
>
>
>  extern tap_state_t cmd_queue_end_state;         /* finish DR scans in 
> dr_end_state */
> -extern tap_state_t cmd_queue_cur_state;         /* current TAP state */
>
>  typedef void* error_handler_t;  /* Later on we can delete error_handler_t, 
> but keep it for now to make patches more readable */
>
> @@ -891,7 +890,7 @@
>  {
>        if (end_state != TAP_INVALID)
>                cmd_queue_end_state = end_state;
> -       cmd_queue_cur_state = cmd_queue_end_state;
> +       tap_set_state(cmd_queue_end_state);
>        interface_jtag_add_dr_out(tap, num_fields, num_bits, value, 
> cmd_queue_end_state);
>  }
>
> Index: src/target/arm11_dbgtap.c
> ===================================================================
> --- src/target/arm11_dbgtap.c   (revision 1893)
> +++ src/target/arm11_dbgtap.c   (working copy)
> @@ -48,7 +48,7 @@
>
>  int arm11_add_ir_scan_vc(int num_fields, scan_field_t *fields, tap_state_t 
> state)
>  {
> -       if (cmd_queue_cur_state == TAP_IRPAUSE)
> +       if (tap_get_state() == TAP_IRPAUSE)
>                jtag_add_pathmove(asizeof(arm11_move_pi_to_si_via_ci), 
> arm11_move_pi_to_si_via_ci);
>
>        jtag_add_ir_scan(num_fields, fields, state);
> @@ -62,7 +62,7 @@
>
>  int arm11_add_dr_scan_vc(int num_fields, scan_field_t *fields, tap_state_t 
> state)
>  {
> -       if (cmd_queue_cur_state == TAP_DRPAUSE)
> +       if (tap_get_state() == TAP_DRPAUSE)
>                jtag_add_pathmove(asizeof(arm11_move_pd_to_sd_via_cd), 
> arm11_move_pd_to_sd_via_cd);
>
>        jtag_add_dr_scan(num_fields, fields, state);
> Index: src/xsvf/xsvf.c
> ===================================================================
> --- src/xsvf/xsvf.c     (revision 1893)
> +++ src/xsvf/xsvf.c     (working copy)
> @@ -171,7 +171,7 @@
>        int retval = ERROR_OK;
>
>        tap_state_t moves[8];
> -       tap_state_t cur_state = cmd_queue_cur_state;
> +       tap_state_t cur_state = tap_get_state();
>        int i;
>        int tms_bits;
>        int     tms_count;
> @@ -608,7 +608,7 @@
>
>                                        LOG_ERROR("XSTATE %s is not reachable 
> from current state %s in one clock cycle",
>                                                tap_state_name(mystate),
> -                                               
> tap_state_name(cmd_queue_cur_state)
> +                                               
> tap_state_name(tap_get_state())
>                                                );
>                                }
>                        }
> Index: src/svf/svf.c
> ===================================================================
> --- src/svf/svf.c       (revision 1893)
> +++ src/svf/svf.c       (working copy)
> @@ -1184,7 +1184,8 @@
>                                        cmd->cmd.statemove = 
> cmd_queue_alloc(sizeof(statemove_command_t));
>                                        cmd->cmd.statemove->end_state = 
> svf_para.runtest_run_state;
>
> -                                       cmd_queue_end_state = 
> cmd_queue_cur_state = cmd->cmd.statemove->end_state;
> +                                       
> tap_set_state(cmd->cmd.statemove->end_state);
> +                                       cmd_queue_end_state = 
> cmd->cmd.statemove->end_state;
>                                }
>
>                                // call jtag_add_clocks
> @@ -1200,7 +1201,8 @@
>                                        cmd->cmd.statemove = 
> cmd_queue_alloc(sizeof(statemove_command_t));
>                                        cmd->cmd.statemove->end_state = 
> svf_para.runtest_end_state;
>
> -                                       cmd_queue_end_state = 
> cmd_queue_cur_state = cmd->cmd.statemove->end_state;
> +                                       
> tap_set_state(cmd->cmd.statemove->end_state);
> +                                       cmd_queue_end_state = 
> cmd->cmd.statemove->end_state;
>                                }
>                                last_state = svf_para.runtest_end_state;
>  #else
> @@ -1297,7 +1299,8 @@
>                                cmd->cmd.statemove = 
> cmd_queue_alloc(sizeof(statemove_command_t));
>                                cmd->cmd.statemove->end_state = state;
>
> -                               cmd_queue_end_state = cmd_queue_cur_state = 
> cmd->cmd.statemove->end_state;
> +                               tap_set_state(state);
> +                               cmd_queue_end_state = state;
>                                last_state = state;
>
>                                LOG_DEBUG("\tmove to %s by state_move", 
> svf_tap_state_name[state]);
>
> _______________________________________________
> Openocd-development mailing list
> Openocd-development@lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/openocd-development
>
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to