- added patch to change pathmove handling
authormifi <mifi@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sun, 10 Feb 2008 12:58:24 +0000 (12:58 +0000)
committermifi <mifi@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sun, 10 Feb 2008 12:58:24 +0000 (12:58 +0000)
https://lists.berlios.de/pipermail/openocd-development/2008-January/000678.html

(thanks to Ã˜yvind for the patch)

git-svn-id: svn://svn.berlios.de/openocd/trunk@286 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/jtag/amt_jtagaccel.c
src/jtag/at91rm9200.c
src/jtag/ep93xx.c
src/jtag/ft2232.c
src/jtag/gw16012.c
src/jtag/jtag.c
src/jtag/jtag.h
src/jtag/parport.c
src/jtag/presto.c
src/jtag/usbprog.c

index f005be65d638a145bba0a91232eda738faf97de6..500f1797d66a423816048229f5f80630f2a989e3 100644 (file)
@@ -119,8 +119,6 @@ jtag_interface_t amt_jtagaccel_interface =
        
        .execute_queue = amt_jtagaccel_execute_queue,
 
-       .support_pathmove = 0,
-
        .speed = amt_jtagaccel_speed,   
        .register_commands = amt_jtagaccel_register_commands,
        .init = amt_jtagaccel_init,
index b1ddb2df0fc85b66efa6ef9a83634c22f37de4f1..8c91171d31d2b7c36dffc3bca13897ce2bc133aa 100644 (file)
@@ -134,8 +134,6 @@ jtag_interface_t at91rm9200_interface =
 
        .execute_queue = bitbang_execute_queue,
 
-       .support_pathmove = 0,
-
        .speed = at91rm9200_speed,
        .register_commands = at91rm9200_register_commands,
        .init = at91rm9200_init,
index 7311c19a135a812327ec7bb7457d08d4dc1be487..f2e176fd33ce45770753c92a65835ec00fac3f55 100644 (file)
@@ -66,8 +66,6 @@ jtag_interface_t ep93xx_interface =
        
        .execute_queue = bitbang_execute_queue,
 
-       .support_pathmove = 0,
-
        .speed = ep93xx_speed,  
        .register_commands = ep93xx_register_commands,
        .init = ep93xx_init,
index 2194694b29f58c056a8651041b59ca2daa67baf3..76741d9e5ad1b1b90c8097514165c8fbe805da2b 100644 (file)
@@ -160,8 +160,6 @@ jtag_interface_t ft2232_interface =
        
        .execute_queue = ft2232_execute_queue,
        
-       .support_pathmove = 1,
-       
        .speed = ft2232_speed,
        .register_commands = ft2232_register_commands,
        .init = ft2232_init,
index 0d5c3f66bb876fccd796a401ded6e2c44d23b11d..aff43de1ea6d8bd7b5d1934ef2894b0d3004e751 100644 (file)
@@ -107,8 +107,6 @@ jtag_interface_t gw16012_interface =
        
        .execute_queue = gw16012_execute_queue,
 
-       .support_pathmove = 0,
-
        .speed = gw16012_speed, 
        .register_commands = gw16012_register_commands,
        .init = gw16012_init,
index e413b9f33004968d0c5366ff1803586bdf45ab32..11011a160bc7a6160aa319331d814470c76e6d75 100644 (file)
@@ -728,52 +728,18 @@ int jtag_add_pathmove(int num_states, enum tap_state *path)
                return ERROR_JTAG_NOT_IMPLEMENTED;
        }
        
-       if (jtag->support_pathmove)
-       {
-               /* allocate memory for a new list member */
-               *last_cmd = cmd_queue_alloc(sizeof(jtag_command_t));
-               last_comand_pointer = &((*last_cmd)->next);
-               (*last_cmd)->next = NULL;
-               (*last_cmd)->type = JTAG_PATHMOVE;
+       /* allocate memory for a new list member */
+       *last_cmd = cmd_queue_alloc(sizeof(jtag_command_t));
+       last_comand_pointer = &((*last_cmd)->next);
+       (*last_cmd)->next = NULL;
+       (*last_cmd)->type = JTAG_PATHMOVE;
+
+       (*last_cmd)->cmd.pathmove = cmd_queue_alloc(sizeof(pathmove_command_t));
+       (*last_cmd)->cmd.pathmove->num_states = num_states;
+       (*last_cmd)->cmd.pathmove->path = cmd_queue_alloc(sizeof(enum tap_state) * num_states);
        
-               (*last_cmd)->cmd.pathmove = cmd_queue_alloc(sizeof(pathmove_command_t));
-               (*last_cmd)->cmd.pathmove->num_states = num_states;
-               (*last_cmd)->cmd.pathmove->path = cmd_queue_alloc(sizeof(enum tap_state) * num_states);
-               
-               for (i = 0; i < num_states; i++)
-                       (*last_cmd)->cmd.pathmove->path[i] = path[i];
-       }
-       else
-       {
-               /* validate the desired path, and see if it fits a default path */
-               int begin = 0;
-               int end = 0;
-               int j;
-               
-               for (i = 0; i < num_states; i++)
-               {
-                       for (j = i; j < num_states; j++)
-                       {
-                               if (tap_move_map[path[j]] != -1)
-                               {       
-                                       end = j;
-                                       break;
-                               }
-                       }
-                       
-                       if (begin - end <= 7)   /* a default path spans no more than 7 states */
-                       {
-                               jtag_add_statemove(path[end]);
-                       }
-                       else
-                       {
-                               ERROR("encountered a TAP path that can't be fulfilled by default paths");       
-                               return ERROR_JTAG_NOT_IMPLEMENTED;
-                       }
-                       
-                       i = end;
-               }
-       }
+       for (i = 0; i < num_states; i++)
+               (*last_cmd)->cmd.pathmove->path[i] = path[i];
 
        if (cmd_queue_cur_state == TAP_TLR && cmd_queue_end_state != TAP_TLR)
                jtag_call_event_callbacks(JTAG_TRST_RELEASED);
index 0458e2d52f4e750a41a44a2968538a4e4bd8e8b3..7435617e0af245a9af78654c195de4be61c24122 100644 (file)
@@ -187,10 +187,6 @@ typedef struct jtag_interface_s
         */
        int (*execute_queue)(void);
        
-       /* optional command support 
-        */
-       int support_pathmove;
-       
        /* interface initalization
         */
        int (*speed)(int speed);
index 7ed95d8eaaee1f2d868686b38a0303a1a20e3e2f..f9d7b0292b206178501edc1715484764dddf39bb 100644 (file)
@@ -159,8 +159,6 @@ jtag_interface_t parport_interface =
        
        .execute_queue = bitbang_execute_queue,
 
-       .support_pathmove = 1,
-
        .speed = parport_speed, 
        .register_commands = parport_register_commands,
        .init = parport_init,
index 62a9746b2f208c2241c149fcfe31d14c2e4d2c52..1e21c22bde8073d0e704a8431dbbee4f4a3315b3 100644 (file)
@@ -61,7 +61,6 @@ jtag_interface_t presto_interface =
 {
        .name = "presto",
        .execute_queue = bitq_execute_queue,
-       .support_pathmove = 1,
        .speed = presto_jtag_speed,
        .register_commands = presto_jtag_register_commands,
        .init = presto_jtag_init,
index 661b3b3499017d2e37a38cc9e16e35ac435e23e1..ab4fe77ab08312e115dfa99f6223b06166533ff2 100644 (file)
@@ -64,7 +64,6 @@ jtag_interface_t usbprog_interface =
 {
        .name = "usbprog",
        .execute_queue = usbprog_execute_queue,
-       .support_pathmove = 0,
        .speed = usbprog_speed, 
        .register_commands = usbprog_register_commands,
        .init = usbprog_init,

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)