]> git.sur5r.net Git - openocd/commitdiff
rtos: remove broken code for handling the deprecated qP packet
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Wed, 19 Oct 2011 22:21:33 +0000 (00:21 +0200)
committerPeter Stuge <peter@stuge.se>
Thu, 20 Oct 2011 01:45:25 +0000 (01:45 +0000)
Change-Id: Icca522c1e2a2877abb20665b171c61079b1d8f48
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/37
Tested-by: jenkins
Reviewed-by: Peter Stuge <peter@stuge.se>
src/rtos/rtos.c

index 8591007c202b8e240c7247c04b77eebffdc08150..8a59fd344ed09668e5e873d2da96378720854cc6 100644 (file)
@@ -132,91 +132,7 @@ int gdb_thread_packet(struct connection *connection, char *packet, int packet_si
 {
        struct target *target = get_target_from_connection(connection);
 
-       if (strstr(packet, "qP"))
-       {
-               #define TAG_THREADID 1          /* Echo the thread identifier */
-               #define TAG_EXISTS 2            /* Is this process defined enough to
-                                                  fetch registers and its stack */
-               #define TAG_DISPLAY 4           /* A short thing maybe to put on a window */
-               #define TAG_THREADNAME 8        /* string, maps 1-to-1 with a thread is */
-               #define TAG_MOREDISPLAY 16      /* Whatever the kernel wants to say about */
-
-                       // TODO: need to scanf the mode variable (or it with the tags), and the threadid
-
-               unsigned long mode;
-               threadid_t threadid = 0;
-               struct thread_detail* detail;
-               sscanf(packet, "qP%8lx%16" SCNx64, &mode, &threadid);
-
-
-               int found = -1;
-
-               if ((target->rtos != NULL) && (target->rtos->thread_details
-                               != NULL)) {
-                       int thread_num;
-                       for (thread_num = 0; thread_num
-                                       < target->rtos->thread_count; thread_num++) {
-                               if (target->rtos->thread_details[thread_num].threadid
-                                               == threadid) {
-                                       if (target->rtos->thread_details[thread_num].exists) {
-                                               found = thread_num;
-                                       }
-                               }
-                       }
-               }
-               if (found == -1) {
-                       gdb_put_packet(connection, "E01", 3); // thread not found
-                       return ERROR_OK;
-               }
-
-               detail = &target->rtos->thread_details[found];
-
-               if ( detail->display_str != NULL )
-               {
-                       mode &= TAG_DISPLAY;
-               }
-               if ( detail->thread_name_str != NULL )
-               {
-                       mode &= TAG_THREADNAME;
-               }
-               if ( detail->extra_info_str != NULL )
-               {
-                       mode &= TAG_MOREDISPLAY;
-               }
-
-
-               mode &= TAG_THREADID | TAG_EXISTS;
-
-               char thread_str[1000];
-
-               sprintf(thread_str, "%08lx", mode);
-               sprintf(thread_str, "%016" PRIx64, threadid);
-
-
-               if (mode & TAG_THREADID) {
-                       sprintf(thread_str, "%08" PRIx32 "10%016" PRIx64, TAG_THREADID, threadid);
-               }
-               if (mode & TAG_EXISTS) {
-                       sprintf(thread_str, "%08" PRIx32 "08%08" PRIx32, TAG_EXISTS, (detail->exists==true)?1:0);
-               }
-               if (mode & TAG_DISPLAY) {
-                       sprintf(thread_str, "%08" PRIx32 "%02x%s", TAG_DISPLAY, (unsigned char)strlen(detail->display_str), detail->display_str );
-               }
-               if (mode & TAG_MOREDISPLAY) {
-                       sprintf(thread_str, "%08" PRIx32 "%02x%s", TAG_MOREDISPLAY, (unsigned char)strlen(detail->extra_info_str), detail->extra_info_str );
-               }
-               if (mode & TAG_THREADNAME) {
-                       sprintf(thread_str, "%08" PRIx32 "%02x%s", TAG_THREADNAME, (unsigned char)strlen(detail->thread_name_str), detail->thread_name_str );
-               }
-
-               //gdb_put_packet(connection, tmpstr, sizeof(tmpstr)-1);
-               gdb_put_packet(connection, thread_str, strlen(thread_str));
-
-               //                      gdb_put_packet(connection, "", 0);
-               //              gdb_put_packet(connection, "OK", 2); // all threads alive
-               return ERROR_OK;
-       }
-       else if (strstr(packet, "qThreadExtraInfo,"))
+       if (strstr(packet, "qThreadExtraInfo,"))
        {
                if ((target->rtos != NULL) && (target->rtos->thread_details != NULL) && (target->rtos->thread_count != 0))
                {