SVF/XSVF: comment and whitespace fixes
[fw/openocd] / src / xsvf / xsvf.c
index 4df4df94f4a79f83b93478d82b624d93453ff366..083e6e3253343c5076d463190af67d71d65aef90 100644 (file)
@@ -1,31 +1,30 @@
-/***************************************************************************
- *      Copyright (C) 2005 by Dominic Rath                                                                        *
- *      Dominic.Rath@gmx.de                                                                                                       *
- *                                                                                                                                                *
- *      Copyright (C) 2007,2008 Øyvind Harboe                                                             *
- *      oyvind.harboe@zylin.com                                                                                                   *
- *                                                                                                                                                *
- *      Copyright (C) 2008 Peter Hettkamp                                                                         *
- *      peter.hettkamp@htp-tel.de                                                                                         *
- *                                                                                                                                                *
- *      Copyright (C) 2009 SoftPLC Corporation. http://softplc.com             *
- *      Dick Hollenbeck <dick@softplc.com>                                                                        *
- *                                                                          *
- *      This program is free software; you can redistribute it and/or modify   *
- *      it under the terms of the GNU General Public License as published by   *
- *      the Free Software Foundation; either version 2 of the License, or         *
- *      (at your option) any later version.                                                                       *
- *                                                                                                                                                *
- *      This program is distributed in the hope that it will be useful,                   *
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of            *
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             *
- *      GNU General Public License for more details.                                              *
- *                                                                                                                                                *
- *      You should have received a copy of the GNU General Public License         *
- *      along with this program; if not, write to the                                             *
- *      Free Software Foundation, Inc.,                                                                                   *
- *      59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                         *
- ***************************************************************************/
+/*
+ * Copyright (C) 2005 by Dominic Rath
+ * Dominic.Rath@gmx.de
+ *
+ * Copyright (C) 2007,2008 Øyvind Harboe
+ * oyvind.harboe@zylin.com
+ *
+ * Copyright (C) 2008 Peter Hettkamp
+ * peter.hettkamp@htp-tel.de
+ *
+ * Copyright (C) 2009 SoftPLC Corporation. http://softplc.com
+ * Dick Hollenbeck <dick@softplc.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
 
 
 /* The specification for SVF is available here:
@@ -82,7 +81,7 @@
 
 ! Set the maximum loop count to 25.
 LCOUNT 25;
-! Step to DRPAUSE give 5 clocks and wait for 1.00e+000 SEC.
+! Step to DRPAUSE give 5 clocks and wait for 1.00e + 000 SEC.
 LDELAY DRPAUSE 5 TCK   1.00E-003 SEC;
 ! Test for the completed status. Match means pass.
 ! Loop back to LDELAY line if not match and loop count less than 25.
@@ -129,11 +128,11 @@ static int xsvf_fd = 0;
 
 
 /* map xsvf tap state to an openocd "tap_state_t" */
-static tap_state_t xsvf_to_tap( int xsvf_state )
+static tap_state_t xsvf_to_tap(int xsvf_state)
 {
        tap_state_t     ret;
 
-       switch( xsvf_state )
+       switch (xsvf_state)
        {
        case XSV_RESET:                 ret = TAP_RESET;                        break;
        case XSV_IDLE:                  ret = TAP_IDLE;                 break;
@@ -152,7 +151,7 @@ static tap_state_t xsvf_to_tap( int xsvf_state )
        case XSV_IREXIT2:               ret = TAP_IREXIT2;              break;
        case XSV_IRUPDATE:              ret = TAP_IRUPDATE;             break;
        default:
-               LOG_ERROR( "UNKNOWN XSVF STATE 0x%02X", xsvf_state );
+               LOG_ERROR("UNKNOWN XSVF STATE 0x%02X", xsvf_state);
                exit(1);
        }
 
@@ -186,7 +185,7 @@ static int xsvf_read_buffer(int num_bits, int fd, uint8_t* buf)
 
 static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
 {
-       uint8_t *dr_out_buf = NULL;                             /* from host to device (TDI) */
+       uint8_t *dr_out_buf = NULL;                             /* from host to device (TDI) */
        uint8_t *dr_in_buf = NULL;                              /* from device to host (TDO) */
        uint8_t *dr_in_mask = NULL;
 
@@ -197,7 +196,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
        tap_state_t     xendir = TAP_IDLE;              /* see page 8 of the SVF spec, initial xendir to be TAP_IDLE */
        tap_state_t xenddr = TAP_IDLE;
 
-       uint8_t                 opcode;
+       uint8_t         opcode;
        uint8_t         uc;
        long            file_offset = 0;
 
@@ -206,14 +205,14 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
        int             loop_clocks = 0;
        int             loop_usecs = 0;
 
-       int             do_abort = 0;
-       int             unsupported = 0;
-       int             tdo_mismatch = 0;
-       int             result;
+       int             do_abort = 0;
+       int             unsupported = 0;
+       int             tdo_mismatch = 0;
+       int             result;
        int             verbose = 1;
        char*   filename;
 
-       int             runtest_requires_tck = 0;       /* a flag telling whether to clock TCK during waits, or simply sleep, controled by virt2 */
+       int             runtest_requires_tck = 0;       /* a flag telling whether to clock TCK during waits, or simply sleep, controled by virt2 */
 
 
        /* use NULL to indicate a "plain" xsvf file which accounts for
@@ -232,10 +231,10 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
        if (strcmp(args[0], "plain") != 0)
        {
-               tap = jtag_tap_by_string( args[0] );
-               if (!tap )
+               tap = jtag_tap_by_string(args[0]);
+               if (!tap)
                {
-                       command_print( cmd_ctx, "Tap: %s unknown", args[0] );
+                       command_print(cmd_ctx, "Tap: %s unknown", args[0]);
                        return ERROR_FAIL;
                }
        }
@@ -261,7 +260,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
        LOG_USER("xsvf processing file: \"%s\"", filename);
 
-       while( read(xsvf_fd, &opcode, 1) > 0 )
+       while (read(xsvf_fd, &opcode, 1) > 0)
        {
                /* record the position of the just read opcode within the file */
                file_offset = lseek(xsvf_fd, 0, SEEK_CUR) - 1;
@@ -309,7 +308,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                else
                                {
                                        xrepeat = myrepeat;
-                                       LOG_DEBUG("XREPEAT %d", xrepeat );
+                                       LOG_DEBUG("XREPEAT %d", xrepeat);
                                }
                        }
                        break;
@@ -327,9 +326,9 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                xsdrsize = be_to_h_u32(xsdrsize_buf);
                                LOG_DEBUG("XSDRSIZE %d", xsdrsize);
 
-                               if( dr_out_buf ) free(dr_out_buf);
-                               ifdr_in_buf)   free(dr_in_buf);
-                               ifdr_in_mask)  free(dr_in_mask);
+                               if (dr_out_buf) free(dr_out_buf);
+                               if (dr_in_buf)   free(dr_in_buf);
+                               if (dr_in_mask)  free(dr_in_mask);
 
                                dr_out_buf = malloc((xsdrsize + 7) / 8);
                                dr_in_buf = malloc((xsdrsize + 7) / 8);
@@ -354,7 +353,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
                                if (opcode == XSDRTDO)
                                {
-                                       if(xsvf_read_buffer(xsdrsize, xsvf_fd, dr_in_buf)  != ERROR_OK )
+                                       if (xsvf_read_buffer(xsdrsize, xsvf_fd, dr_in_buf)  != ERROR_OK)
                                        {
                                                do_abort = 1;
                                                break;
@@ -366,11 +365,11 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
                                LOG_DEBUG("%s %d", op_name, xsdrsize);
 
-                               for( attempt=0; attempt<limit;  ++attempt )
+                               for (attempt = 0; attempt < limit;  ++attempt)
                                {
                                        scan_field_t field;
 
-                                       if( attempt>0 )
+                                       if (attempt > 0)
                                        {
                                                /* perform the XC9500 exception handling sequence shown in xapp067.pdf and
                                                   illustrated in psuedo code at end of this file.  We start from state
@@ -393,7 +392,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                                        TAP_IDLE,
                                                };
 
-                                               jtag_add_pathmove( DIM(exception_path), exception_path );
+                                               jtag_add_pathmove(DIM(exception_path), exception_path);
 
                                                if (verbose)
                                                        LOG_USER("%s mismatch, xsdrsize=%d retry=%d", op_name, xsdrsize, attempt);
@@ -425,7 +424,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
                                if (!matched)
                                {
-                                       LOG_USER( "%s mismatch", op_name);
+                                       LOG_USER("%s mismatch", op_name);
                                        tdo_mismatch = 1;
                                        break;
                                }
@@ -498,14 +497,14 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
                                mystate = xsvf_to_tap(uc);
 
-                               LOG_DEBUG("XSTATE 0x%02X %s", uc, tap_state_name(mystate) );
+                               LOG_DEBUG("XSTATE 0x%02X %s", uc, tap_state_name(mystate));
 
-                               /*      there is no need for the lookahead code that was here since we
+                               /*      there is no need for the lookahead code that was here since we
                                        queue up the jtag commands anyway.  This is a simple way to handle
                                        the XSTATE.
                                */
 
-                               if( jtag_add_statemove( mystate ) != ERROR_OK )
+                               if (jtag_add_statemove(mystate) != ERROR_OK)
                                {
                                        /*      For special states known as stable states
                                                (Test-Logic-Reset, Run-Test/Idle, Pause-DR, Pause- IR),
@@ -524,7 +523,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                        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)
-                                               );
+);
                                }
                        }
                        break;
@@ -538,9 +537,9 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                        }
 
                        /* see page 22 of XSVF spec */
-                       if( uc == 0 )
+                       if (uc == 0)
                                xendir = TAP_IDLE;
-                       else if( uc == 1 )
+                       else if (uc == 1)
                                xendir = TAP_IRPAUSE;
                        else
                        {
@@ -561,9 +560,9 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                        }
 
                        /* see page 22 of XSVF spec */
-                       if( uc == 0 )
+                       if (uc == 0)
                                xenddr = TAP_IDLE;
-                       else if( uc == 1 )
+                       else if (uc == 1)
                                xenddr = TAP_DRPAUSE;
                        else
                        {
@@ -583,7 +582,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                int bitcount;
                                tap_state_t my_end_state = xruntest ? TAP_IDLE : xendir;
 
-                               if( opcode == XSIR )
+                               if (opcode == XSIR)
                                {
                                        /* one byte bitcount */
                                        if (read(xsvf_fd, short_buf, 1) < 0)
@@ -605,7 +604,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                        LOG_DEBUG("XSIR2 %d", bitcount);
                                }
 
-                               ir_buf = malloc((bitcount+7) / 8);
+                               ir_buf = malloc((bitcount + 7) / 8);
 
                                if (xsvf_read_buffer(bitcount, xsvf_fd, ir_buf) != ERROR_OK)
                                        do_abort = 1;
@@ -620,7 +619,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                        field.in_value = NULL;
 
 
-                                       
+
 
                                        if (tap == NULL)
                                                jtag_add_plain_ir_scan(1, &field, my_end_state);
@@ -642,7 +641,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
                                        /* LOG_DEBUG("FLUSHING QUEUE"); */
                                        result = jtag_execute_queue();
-                                       if(result != ERROR_OK)
+                                       if (result != ERROR_OK)
                                        {
                                                tdo_mismatch = 1;
                                        }
@@ -654,7 +653,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                case XCOMMENT:
                        {
                                unsigned int ndx = 0;
-                               char    comment[128];
+                               char    comment[128];
 
                                do
                                {
@@ -664,7 +663,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                                break;
                                        }
 
-                                       if ( ndx < sizeof(comment)-1 )
+                                       if (ndx < sizeof(comment)-1)
                                                comment[ndx++] = uc;
 
                                } while (uc != 0);
@@ -687,9 +686,9 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
                                tap_state_t wait_state;
                                tap_state_t end_state;
-                               int     delay;
+                               int     delay;
 
-                               if ( read(xsvf_fd, &wait, 1) < 0
+                               if (read(xsvf_fd, &wait, 1) < 0
                                  || read(xsvf_fd, &end, 1) < 0
                                  || read(xsvf_fd, delay_buf, 4) < 0)
                                {
@@ -703,15 +702,15 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
                                LOG_DEBUG("XWAIT %s %s usecs:%d", tap_state_name(wait_state), tap_state_name(end_state), delay);
 
-                               if (runtest_requires_tck && wait_state == TAP_IDLE )
+                               if (runtest_requires_tck && wait_state == TAP_IDLE)
                                {
                                        jtag_add_runtest(delay, end_state);
                                }
                                else
                                {
-                                       jtag_add_statemove( wait_state );
+                                       jtag_add_statemove(wait_state);
                                        jtag_add_sleep(delay);
-                                       jtag_add_statemove( end_state );
+                                       jtag_add_statemove(end_state);
                                }
                        }
                        break;
@@ -723,7 +722,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                */
 
                                uint8_t  clock_buf[4];
-                               uint8_t         usecs_buf[4];
+                               uint8_t usecs_buf[4];
                                uint8_t wait;
                                uint8_t end;
                                tap_state_t wait_state;
@@ -731,17 +730,17 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                int clock_count;
                                int usecs;
 
-                               if ( read(xsvf_fd, &wait, 1) < 0
+                               if (read(xsvf_fd, &wait, 1) < 0
                                 ||  read(xsvf_fd, &end, 1) < 0
                                 ||  read(xsvf_fd, clock_buf, 4) < 0
-                                ||  read(xsvf_fd, usecs_buf, 4) < 0 )
+                                ||  read(xsvf_fd, usecs_buf, 4) < 0)
                                {
                                        do_abort = 1;
                                        break;
                                }
 
-                               wait_state = xsvf_to_tap( wait );
-                               end_state  = xsvf_to_tap( end );
+                               wait_state = xsvf_to_tap(wait);
+                               end_state  = xsvf_to_tap(end);
 
                                clock_count = be_to_h_u32(clock_buf);
                                usecs       = be_to_h_u32(usecs_buf);
@@ -758,17 +757,17 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                 */
                                if (wait_state != TAP_IRPAUSE && wait_state != TAP_DRPAUSE && wait_state != TAP_RESET && wait_state != TAP_IDLE)
                                {
-                                       LOG_ERROR("illegal XWAITSTATE wait_state: \"%s\"", tap_state_name( wait_state ));
+                                       LOG_ERROR("illegal XWAITSTATE wait_state: \"%s\"", tap_state_name(wait_state));
                                        unsupported = 1;
                                }
 
-                               jtag_add_statemove( wait_state );
+                               jtag_add_statemove(wait_state);
 
-                               jtag_add_clocks( clock_count );
+                               jtag_add_clocks(clock_count);
 
-                               jtag_add_sleep( usecs );
+                               jtag_add_sleep(usecs);
 
-                               jtag_add_statemove( end_state );
+                               jtag_add_statemove(end_state);
                        }
                        break;
 
@@ -779,7 +778,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                */
                                uint8_t  count_buf[4];
 
-                               if ( read(xsvf_fd, count_buf, 4) < 0 )
+                               if (read(xsvf_fd, count_buf, 4) < 0)
                                {
                                        do_abort = 1;
                                        break;
@@ -799,9 +798,9 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                uint8_t  clock_buf[4];
                                uint8_t  usecs_buf[4];
 
-                               if ( read(xsvf_fd, &state, 1) < 0
+                               if (read(xsvf_fd, &state, 1) < 0
                                  || read(xsvf_fd, clock_buf, 4) < 0
-                                 ||     read(xsvf_fd, usecs_buf, 4) < 0 )
+                                 ||     read(xsvf_fd, usecs_buf, 4) < 0)
                                {
                                        do_abort = 1;
                                        break;
@@ -826,8 +825,8 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
                                LOG_DEBUG("LSDR");
 
-                               if ( xsvf_read_buffer(xsdrsize, xsvf_fd, dr_out_buf) != ERROR_OK
-                                 || xsvf_read_buffer(xsdrsize, xsvf_fd, dr_in_buf) != ERROR_OK )
+                               if (xsvf_read_buffer(xsdrsize, xsvf_fd, dr_out_buf) != ERROR_OK
+                                 || xsvf_read_buffer(xsdrsize, xsvf_fd, dr_in_buf) != ERROR_OK)
                                {
                                        do_abort = 1;
                                        break;
@@ -836,11 +835,11 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                if (limit < 1)
                                        limit = 1;
 
-                               for( attempt=0; attempt<limit;  ++attempt )
+                               for (attempt = 0; attempt < limit;  ++attempt)
                                {
                                        scan_field_t field;
 
-                                       jtag_add_statemove( loop_state );
+                                       jtag_add_statemove(loop_state);
                                        jtag_add_clocks(loop_clocks);
                                        jtag_add_sleep(loop_usecs);
 
@@ -864,16 +863,16 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
 
                                        /* LOG_DEBUG("FLUSHING QUEUE"); */
                                        result = jtag_execute_queue();
-                                       if(result == ERROR_OK)
+                                       if (result == ERROR_OK)
                                        {
                                                matched = 1;
                                                break;
                                        }
                                }
 
-                               if (!matched )
+                               if (!matched)
                                {
-                                       LOG_USER( "LSDR mismatch" );
+                                       LOG_USER("LSDR mismatch");
                                        tdo_mismatch = 1;
                                        break;
                                }
@@ -890,7 +889,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                        break;
                                }
 
-                               switch( trst_mode )
+                               switch (trst_mode)
                                {
                                case XTRST_ON:
                                        jtag_add_reset(1, 0);
@@ -902,7 +901,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                                case XTRST_ABSENT:
                                        break;
                                default:
-                                       LOG_ERROR( "XTRST mode argument (0x%02X) out of range", trst_mode );
+                                       LOG_ERROR("XTRST mode argument (0x%02X) out of range", trst_mode);
                                        do_abort = 1;
                                }
                        }
@@ -918,7 +917,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
                        LOG_DEBUG("xsvf failed, setting taps to reasonable state");
 
                        /* upon error, return the TAPs to a reasonable state */
-                       jtag_add_statemove( TAP_IDLE );
+                       jtag_add_statemove(TAP_IDLE);
                        jtag_execute_queue();
                        break;
                }
@@ -927,7 +926,7 @@ static int handle_xsvf_command(struct command_context_s *cmd_ctx, char *cmd, cha
        if (tdo_mismatch)
        {
                command_print(cmd_ctx, "TDO mismatch, somewhere near offset %lu in xsvf file, aborting",
-                                         file_offset );
+                                         file_offset);
 
 
                return ERROR_FAIL;