Remove i386_elf_emit_arch_note
[deliverable/binutils-gdb.git] / sim / arm / parent.c
index 21da64332aa67149f3aaaf7e8e9e86a0e66c63c2..4a052d75e1590dd27ee4ba74228ca09a7864ff73 100644 (file)
@@ -3,7 +3,7 @@
  
     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
  
     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
+    the Free Software Foundation; either version 3 of the License, or
     (at your option) any later version.
  
     This program is distributed in the hope that it will be useful,
     (at your option) any later version.
  
     This program is distributed in the hope that it will be useful,
@@ -12,8 +12,7 @@
     GNU General Public License for more details.
  
     You should have received a copy of the GNU General Public License
     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. */
+    along with this program; if not, see <http://www.gnu.org/licenses/>. */
 
 /*****************************************************************/
 /* The Parent process continues here...                          */
 
 /*****************************************************************/
 /* The Parent process continues here...                          */
@@ -61,423 +60,421 @@ parent ()
 #ifdef DEBUG
   fprintf (stderr, "parent ()...\n");
 #endif
 #ifdef DEBUG
   fprintf (stderr, "parent ()...\n");
 #endif
-  
- panic_error:
+
+panic_error:
 
   if (!virgin)
     {
 #ifdef DEBUG
 
   if (!virgin)
     {
 #ifdef DEBUG
-      fprintf(stderr, "Arghh! What is going on?\n");
+      fprintf (stderr, "Arghh! What is going on?\n");
 #endif
       kill (child, SIGHUP);
 #endif
       kill (child, SIGHUP);
-      MYwrite_char(debugsock, RDP_Reset);
+      MYwrite_char (debugsock, RDP_Reset);
     }
     }
-  
+
   virgin = 0;
 
   while (1)
     {
   virgin = 0;
 
   while (1)
     {
-    
-    /* Wait either for the ARMulator or the debugger */
-    
-    FD_ZERO (&readfds);
-    FD_SET (kidmum[0], &readfds); /* Wait for messages from ARMulator */
-    FD_SET (debugsock, &readfds); /* Wait for messages from debugger */
 
 
-#ifdef DEBUG
-    fprintf (stderr, "Waiting for ARMulator or debugger... ");
-#endif    
+      /* Wait either for the ARMulator or the debugger */
 
 
-    while ((i = select (nfds, &readfds, (fd_set *) 0, (fd_set *) 0, 0)) < 0)
-      {
-       perror ("select");
-      }
+      FD_ZERO (&readfds);
+      FD_SET (kidmum[0], &readfds);    /* Wait for messages from ARMulator */
+      FD_SET (debugsock, &readfds);    /* Wait for messages from debugger */
 
 #ifdef DEBUG
 
 #ifdef DEBUG
-    fprintf(stderr, "(%d/2)", i);
+      fprintf (stderr, "Waiting for ARMulator or debugger... ");
 #endif
 #endif
-    
-    if (FD_ISSET (debugsock, &readfds)) {
+
+      while ((i = select (nfds, &readfds, (fd_set *) 0, (fd_set *) 0, 0)) < 0)
+       {
+         perror ("select");
+       }
+
 #ifdef DEBUG
 #ifdef DEBUG
-      fprintf (stderr, "->debugger\n");
-#endif      
-      
-      /* Inside this rather large if statement with simply pass on a complete 
-        message to the ARMulator.  The reason we need to pass messages on one
-        at a time is that we have to know whether the message is an OSOpReply
-        or an info(stop), so that we can take different action in those
-        cases. */
-
-      if (MYread_char (debugsock, &message))
-       goto panic_error;
-      
-      switch (message)
+      fprintf (stderr, "(%d/2)", i);
+#endif
+
+      if (FD_ISSET (debugsock, &readfds))
        {
        {
-       case RDP_Start:
-         /* Open and/or Initialise */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Open\n");
+         fprintf (stderr, "->debugger\n");
 #endif
 #endif
-         if (MYread_char(debugsock, &c)) /* type */
-           goto panic_error;
 
 
-         if (MYread_word(debugsock, &x))  /* memory size */
+         /* Inside this rather large if statement with simply pass on a complete 
+            message to the ARMulator.  The reason we need to pass messages on one
+            at a time is that we have to know whether the message is an OSOpReply
+            or an info(stop), so that we can take different action in those
+            cases. */
+
+         if (MYread_char (debugsock, &message))
            goto panic_error;
 
            goto panic_error;
 
-         MYwrite_char (mumkid[1], message);
-         MYwrite_char (mumkid[1], c);
-         MYwrite_word (mumkid[1], x);
-         if (c & 0x2)
+         switch (message)
            {
            {
-             passon (debugsock, mumkid[1], 1); /* speed */
-           }
-         break;
-       
-       case RDP_End:
-         /* Close and Finalise */
+           case RDP_Start:
+             /* Open and/or Initialise */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf(stderr, "RDP Close\n");
+             fprintf (stderr, "RDP Open\n");
 #endif
 #endif
-         MYwrite_char (mumkid[1], message);
-         break;
-       
-       case RDP_Read:
-         /* Read Memory Address */   
+             if (MYread_char (debugsock, &c))  /* type */
+               goto panic_error;
+
+             if (MYread_word (debugsock, &x))  /* memory size */
+               goto panic_error;
+
+             MYwrite_char (mumkid[1], message);
+             MYwrite_char (mumkid[1], c);
+             MYwrite_word (mumkid[1], x);
+             if (c & 0x2)
+               {
+                 passon (debugsock, mumkid[1], 1);     /* speed */
+               }
+             break;
+
+           case RDP_End:
+             /* Close and Finalise */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Read Memory\n");
+             fprintf (stderr, "RDP Close\n");
 #endif
 #endif
-         MYwrite_char (mumkid[1], message);
-         if (passon (debugsock, mumkid[1], 4))
-           goto panic_error; /* address */
-         if (MYread_word(debugsock, &nbytes))
-           goto panic_error; /* nbytes */
-         MYwrite_word (mumkid[1], nbytes);
-         break;
-       
-       case RDP_Write :
-         /* Write Memory Address */
+             MYwrite_char (mumkid[1], message);
+             break;
+
+           case RDP_Read:
+             /* Read Memory Address */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Write Memory\n");
+             fprintf (stderr, "RDP Read Memory\n");
 #endif
 #endif
-         if (MYread_word (debugsock, &x))
-           goto panic_error; /* address */
-
-         if (MYread_word (debugsock, &y))
-           goto panic_error; /* nbytes */
-
-         MYwrite_char (mumkid[1], message);
-         MYwrite_word (mumkid[1], x);
-         MYwrite_word (mumkid[1], y);
-         passon (debugsock, mumkid[1], y);  /* actual data */
-         break;
-       
-       case RDP_CPUread:
-         /* Read CPU State */
+             MYwrite_char (mumkid[1], message);
+             if (passon (debugsock, mumkid[1], 4))
+               goto panic_error;       /* address */
+             if (MYread_word (debugsock, &nbytes))
+               goto panic_error;       /* nbytes */
+             MYwrite_word (mumkid[1], nbytes);
+             break;
+
+           case RDP_Write:
+             /* Write Memory Address */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Read CPU\n");
+             fprintf (stderr, "RDP Write Memory\n");
 #endif
 #endif
-         if (MYread_char(debugsock, &c))
-           goto panic_error; /* mode */
+             if (MYread_word (debugsock, &x))
+               goto panic_error;       /* address */
 
 
-         if (MYread_word (debugsock, &mask))
-           goto panic_error; /* mask */
+             if (MYread_word (debugsock, &y))
+               goto panic_error;       /* nbytes */
 
 
-         MYwrite_char (mumkid[1], message);
-         MYwrite_char (mumkid[1], c);
-         MYwrite_word (mumkid[1], mask);
-         break;
+             MYwrite_char (mumkid[1], message);
+             MYwrite_word (mumkid[1], x);
+             MYwrite_word (mumkid[1], y);
+             passon (debugsock, mumkid[1], y); /* actual data */
+             break;
 
 
-       case RDP_CPUwrite :
-         /* Write CPU State */
+           case RDP_CPUread:
+             /* Read CPU State */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Write CPU\n");
+             fprintf (stderr, "RDP Read CPU\n");
 #endif
 #endif
-         if (MYread_char (debugsock, &c))
-           goto panic_error; /* mode */
-
-         if (MYread_word (debugsock, &x))
-           goto panic_error; /* mask */
-
-         MYwrite_char (mumkid[1], message);
-         MYwrite_char (mumkid[1], c);
-         MYwrite_word (mumkid[1], x);
-         for (k = 1, j = 0; k != 0x80000000; k *= 2, j++)
-           if ((k & x) 
-               && passon(debugsock, mumkid[1], 4))
-             goto panic_error;
-         break;
-
-       case RDP_CPread:
-         /* Read Co-Processor State */
+             if (MYread_char (debugsock, &c))
+               goto panic_error;       /* mode */
+
+             if (MYread_word (debugsock, &mask))
+               goto panic_error;       /* mask */
+
+             MYwrite_char (mumkid[1], message);
+             MYwrite_char (mumkid[1], c);
+             MYwrite_word (mumkid[1], mask);
+             break;
+
+           case RDP_CPUwrite:
+             /* Write CPU State */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Read CP state\n");
+             fprintf (stderr, "RDP Write CPU\n");
 #endif
 #endif
-         if (MYread_char (debugsock, &CPnum))
-           goto panic_error;
+             if (MYread_char (debugsock, &c))
+               goto panic_error;       /* mode */
 
 
-         if (MYread_word (debugsock, &mask))
-           goto panic_error;
+             if (MYread_word (debugsock, &x))
+               goto panic_error;       /* mask */
+
+             MYwrite_char (mumkid[1], message);
+             MYwrite_char (mumkid[1], c);
+             MYwrite_word (mumkid[1], x);
+             for (k = 1, j = 0; k != 0x80000000; k *= 2, j++)
+               if ((k & x) && passon (debugsock, mumkid[1], 4))
+                 goto panic_error;
+             break;
 
 
-         MYwrite_char (mumkid[1], message);
-         MYwrite_char (mumkid[1], CPnum);
-         MYwrite_word (mumkid[1], mask);
-         break;
-       
-       case RDP_CPwrite:
-         /* Write Co-Processor State */
+           case RDP_CPread:
+             /* Read Co-Processor State */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf(stderr, "RDP Write CP state\n");
+             fprintf (stderr, "RDP Read CP state\n");
 #endif
 #endif
-         if (MYread_char (debugsock, &CPnum))
-           goto panic_error;
+             if (MYread_char (debugsock, &CPnum))
+               goto panic_error;
 
 
-         if (MYread_word (debugsock, &mask))
-           goto panic_error;
+             if (MYread_word (debugsock, &mask))
+               goto panic_error;
 
 
-         MYwrite_char (mumkid[1], message);
-         MYwrite_char (mumkid[1], c);
-         MYwrite_char (mumkid[1], x);
-         for (k = 1, j = 0; k != 0x80000000; k *= 2, j++)
-           if (k & x)
-             {
-               if ((c == 1 || c == 2) && k <= 128)
-                 {
-                   /* FP register = 12 bytes + 4 bytes format */
-                   if (passon(debugsock, mumkid[1], 16))
-                     goto panic_error;
-                 }
-               else
-                 {
-                   /* Normal register = 4 bytes */
-                   if (passon(debugsock, mumkid[1], 4))
-                     goto panic_error; 
-                 }
-             }
-         break;
-       
-       case RDP_SetBreak:
-         /* Set Breakpoint */
+             MYwrite_char (mumkid[1], message);
+             MYwrite_char (mumkid[1], CPnum);
+             MYwrite_word (mumkid[1], mask);
+             break;
+
+           case RDP_CPwrite:
+             /* Write Co-Processor State */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Set Breakpoint\n");
+             fprintf (stderr, "RDP Write CP state\n");
 #endif
 #endif
-         if (MYread_word (debugsock, &x))
-           goto panic_error; /* address */
-
-         if (MYread_char (debugsock, &c))
-           goto panic_error; /* type */
-
-         MYwrite_char (mumkid[1], message);
-         MYwrite_word (mumkid[1], x);
-         MYwrite_char (mumkid[1], c);
-         if (((c & 0xf) >= 5)
-             && passon(debugsock, mumkid[1], 4))
-           goto panic_error; /* bound */
-         break;
-
-       case RDP_ClearBreak:
-         /* Clear Breakpoint */
+             if (MYread_char (debugsock, &CPnum))
+               goto panic_error;
+
+             if (MYread_word (debugsock, &mask))
+               goto panic_error;
+
+             MYwrite_char (mumkid[1], message);
+             MYwrite_char (mumkid[1], c);
+             MYwrite_char (mumkid[1], x);
+             for (k = 1, j = 0; k != 0x80000000; k *= 2, j++)
+               if (k & x)
+                 {
+                   if ((c == 1 || c == 2) && k <= 128)
+                     {
+                       /* FP register = 12 bytes + 4 bytes format */
+                       if (passon (debugsock, mumkid[1], 16))
+                         goto panic_error;
+                     }
+                   else
+                     {
+                       /* Normal register = 4 bytes */
+                       if (passon (debugsock, mumkid[1], 4))
+                         goto panic_error;
+                     }
+                 }
+             break;
+
+           case RDP_SetBreak:
+             /* Set Breakpoint */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Clear Breakpoint\n");
+             fprintf (stderr, "RDP Set Breakpoint\n");
 #endif
 #endif
-         MYwrite_char (mumkid[1], message);
-         if (passon (debugsock, mumkid[1], 4))
-           goto panic_error; /* point */
-         break;
-       
-       case RDP_SetWatch:
-         /* Set Watchpoint */
+             if (MYread_word (debugsock, &x))
+               goto panic_error;       /* address */
+
+             if (MYread_char (debugsock, &c))
+               goto panic_error;       /* type */
+
+             MYwrite_char (mumkid[1], message);
+             MYwrite_word (mumkid[1], x);
+             MYwrite_char (mumkid[1], c);
+             if (((c & 0xf) >= 5) && passon (debugsock, mumkid[1], 4))
+               goto panic_error;       /* bound */
+             break;
+
+           case RDP_ClearBreak:
+             /* Clear Breakpoint */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Set Watchpoint\n");
+             fprintf (stderr, "RDP Clear Breakpoint\n");
 #endif
 #endif
-         if (MYread_word (debugsock, &x))
-           goto panic_error; /* address */
-
-         if (MYread_char(debugsock, &c))
-           goto panic_error; /* type */
-
-         if (MYread_char (debugsock, &d))
-           goto panic_error; /* datatype */
-
-         MYwrite_char (mumkid[1], message);
-         MYwrite_word (mumkid[1], x);
-         MYwrite_char (mumkid[1], c);
-         MYwrite_char (mumkid[1], d);
-         if (((c & 0xf) >= 5)
-             && passon(debugsock, mumkid[1], 4))
-           goto panic_error; /* bound */
-         break;
-       
-       case RDP_ClearWatch:
-         /* Clear Watchpoint */
+             MYwrite_char (mumkid[1], message);
+             if (passon (debugsock, mumkid[1], 4))
+               goto panic_error;       /* point */
+             break;
+
+           case RDP_SetWatch:
+             /* Set Watchpoint */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Clear Watchpoint\n");
+             fprintf (stderr, "RDP Set Watchpoint\n");
 #endif
 #endif
-         MYwrite_char (mumkid[1], message);
-         if (passon (debugsock, mumkid[1], 4))
-           goto panic_error; /* point */
-         break;
+             if (MYread_word (debugsock, &x))
+               goto panic_error;       /* address */
+
+             if (MYread_char (debugsock, &c))
+               goto panic_error;       /* type */
+
+             if (MYread_char (debugsock, &d))
+               goto panic_error;       /* datatype */
+
+             MYwrite_char (mumkid[1], message);
+             MYwrite_word (mumkid[1], x);
+             MYwrite_char (mumkid[1], c);
+             MYwrite_char (mumkid[1], d);
+             if (((c & 0xf) >= 5) && passon (debugsock, mumkid[1], 4))
+               goto panic_error;       /* bound */
+             break;
 
 
-       case RDP_Execute:
-         /* Excecute */
+           case RDP_ClearWatch:
+             /* Clear Watchpoint */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Execute\n");
+             fprintf (stderr, "RDP Clear Watchpoint\n");
 #endif
 #endif
-       
-         /* LEAVE THIS ONE 'TIL LATER... */
-         /* NEED TO WORK THINGS OUT */
-       
-         /* NO ASCYNCHROUS RUNNING */
-       
-         if (MYread_char(debugsock, &c))
-           goto panic_error; /* return */
-
-         /* Remember incase bit 7 is set and we have to send back a word */
-         exreturn = c;
-       
-         MYwrite_char(mumkid[1], message);
-         MYwrite_char(mumkid[1], c);
-         break;
-       
-       case RDP_Step:
-         /* Step */
+             MYwrite_char (mumkid[1], message);
+             if (passon (debugsock, mumkid[1], 4))
+               goto panic_error;       /* point */
+             break;
+
+           case RDP_Execute:
+             /* Excecute */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Step\n");
+             fprintf (stderr, "RDP Execute\n");
 #endif
 
 #endif
 
-         if (MYread_char(debugsock, &c))
-           goto panic_error; /* return */
+             /* LEAVE THIS ONE 'TIL LATER... */
+             /* NEED TO WORK THINGS OUT */
+
+             /* NO ASCYNCHROUS RUNNING */
 
 
-         if (MYread_word(debugsock, &x))
-           goto panic_error; /* ninstr */
+             if (MYread_char (debugsock, &c))
+               goto panic_error;       /* return */
 
 
-         MYwrite_char (mumkid[1], message);
-         MYwrite_char (mumkid[1], c);
-         MYwrite_word (mumkid[1], x);
-         break;
-       
-       case RDP_Info:
-         /* Info */
+             /* Remember incase bit 7 is set and we have to send back a word */
+             exreturn = c;
+
+             MYwrite_char (mumkid[1], message);
+             MYwrite_char (mumkid[1], c);
+             break;
+
+           case RDP_Step:
+             /* Step */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Info\n");
+             fprintf (stderr, "RDP Step\n");
 #endif
 #endif
-         /* INFO TARGET, SET RDI LEVEL */
-         if (MYread_word (debugsock, &messagetype))
-           goto panic_error; /* info */
 
 
-         switch (messagetype)
-           {
-           case RDIInfo_Target:
+             if (MYread_char (debugsock, &c))
+               goto panic_error;       /* return */
+
+             if (MYread_word (debugsock, &x))
+               goto panic_error;       /* ninstr */
+
              MYwrite_char (mumkid[1], message);
              MYwrite_char (mumkid[1], message);
-             MYwrite_word (mumkid[1], messagetype);
+             MYwrite_char (mumkid[1], c);
+             MYwrite_word (mumkid[1], x);
              break;
              break;
-           
-           case RDISet_RDILevel:
-             MYwrite_char (mumkid[1], message);
-             MYwrite_word (mumkid[1], messagetype);
-             if (passon (debugsock, mumkid[1], 1))
-               goto panic_error; /* argument */
+
+           case RDP_Info:
+             /* Info */
+#ifdef DEBUG
+             fprintf (stderr, "RDP Info\n");
+#endif
+             /* INFO TARGET, SET RDI LEVEL */
+             if (MYread_word (debugsock, &messagetype))
+               goto panic_error;       /* info */
+
+             switch (messagetype)
+               {
+               case RDIInfo_Target:
+                 MYwrite_char (mumkid[1], message);
+                 MYwrite_word (mumkid[1], messagetype);
+                 break;
+
+               case RDISet_RDILevel:
+                 MYwrite_char (mumkid[1], message);
+                 MYwrite_word (mumkid[1], messagetype);
+                 if (passon (debugsock, mumkid[1], 1))
+                   goto panic_error;   /* argument */
+                 break;
+
+               case RDISet_Cmdline:
+                 /* Got to pass on a string argument */
+                 MYwrite_char (mumkid[1], message);
+                 MYwrite_word (mumkid[1], messagetype);
+                 do
+                   {
+                     if (MYread_char (debugsock, &c))
+                       goto panic_error;
+
+                     MYwrite_char (mumkid[1], c);
+                   }
+                 while (c);
+                 break;
+
+               case RDISignal_Stop:
+                 kill (child, SIGUSR1);
+                 MYwrite_char (debugsock, RDP_Return);
+                 MYwrite_char (debugsock, RDIError_UserInterrupt);
+                 break;
+
+               case RDIVector_Catch:
+                 MYread_word (debugsock, &x);
+                 MYwrite_char (mumkid[1], message);
+                 MYwrite_word (mumkid[1], messagetype);
+                 MYwrite_word (mumkid[1], x);
+                 break;
+
+               case RDIInfo_Step:
+                 MYwrite_char (mumkid[1], message);
+                 MYwrite_word (mumkid[1], messagetype);
+                 break;
+
+               case RDIInfo_Points:
+                 MYwrite_char (mumkid[1], message);
+                 MYwrite_word (mumkid[1], messagetype);
+                 break;
+
+               default:
+                 fprintf (stderr, "Unrecognized RDIInfo request %d\n",
+                          messagetype);
+                 goto panic_error;
+               }
              break;
 
              break;
 
-           case RDISet_Cmdline:
-             /* Got to pass on a string argument */
+           case RDP_OSOpReply:
+             /* OS Operation Reply */
+#ifdef DEBUG
+             fprintf (stderr, "RDP OS Reply\n");
+#endif
+             MYwrite_char (mumkid[1], message);
+             if (MYread_char (debugsock, &message))
+               goto panic_error;
              MYwrite_char (mumkid[1], message);
              MYwrite_char (mumkid[1], message);
-             MYwrite_word (mumkid[1], messagetype);
-             do
+             switch (message)
                {
                {
+               case 0: /* return value i.e. nothing else. */
+                 break;
+
+               case 1: /* returns a byte... */
                  if (MYread_char (debugsock, &c))
                    goto panic_error;
 
                  MYwrite_char (mumkid[1], c);
                  if (MYread_char (debugsock, &c))
                    goto panic_error;
 
                  MYwrite_char (mumkid[1], c);
-               } while (c);
-             break;
-
-           case RDISignal_Stop:
-             kill (child, SIGUSR1);
-             MYwrite_char (debugsock, RDP_Return);
-             MYwrite_char (debugsock, RDIError_UserInterrupt);
-             break;
-
-           case RDIVector_Catch:
-             MYread_word (debugsock, &x);
-             MYwrite_char (mumkid[1], message);
-             MYwrite_word (mumkid[1], messagetype);
-             MYwrite_word (mumkid[1], x);
-             break;
+                 break;
 
 
-           case RDIInfo_Step:
-             MYwrite_char (mumkid[1], message);
-             MYwrite_word (mumkid[1], messagetype);
-             break;
+               case 2: /* returns a word... */
+                 if (MYread_word (debugsock, &x))
+                   goto panic_error;
 
 
-           case RDIInfo_Points:
-             MYwrite_char (mumkid[1], message);
-             MYwrite_word (mumkid[1], messagetype);
+                 MYwrite_word (mumkid[1], x);
+                 break;
+               }
              break;
 
              break;
 
-           default:
-             fprintf (stderr, "Unrecognized RDIInfo request %d\n",
-                      messagetype);
-             goto panic_error;
-           }
-         break;
-       
-       case RDP_OSOpReply:
-         /* OS Operation Reply */
+           case RDP_Reset:
+             /* Reset */
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP OS Reply\n");
+             fprintf (stderr, "RDP Reset\n");
 #endif
 #endif
-         MYwrite_char (mumkid[1], message);
-         if (MYread_char (debugsock, &message))
-           goto panic_error;
-         MYwrite_char (mumkid[1], message);
-         switch(message)
-           {
-           case 0: /* return value i.e. nothing else.*/
+             MYwrite_char (mumkid[1], message);
              break;
 
              break;
 
-           case 1: /* returns a byte... */
-             if (MYread_char(debugsock, &c))
-               goto panic_error;
-
-             MYwrite_char (mumkid[1], c);
-             break;      
-
-           case 2: /* returns a word... */
-             if (MYread_word(debugsock, &x))
-               goto panic_error;
-
-             MYwrite_word (mumkid[1], x);
+           default:
+             /* Hmm.. bad RDP operation */
+             fprintf (stderr, "RDP Bad RDP request (%d)\n", message);
+             MYwrite_char (debugsock, RDP_Return);
+             MYwrite_char (debugsock, RDIError_UnimplementedMessage);
              break;
            }
              break;
            }
-         break;
-       
-       case RDP_Reset:
-         /* Reset */
+       }
+
+      if (FD_ISSET (kidmum[0], &readfds))
+       {
 #ifdef DEBUG
 #ifdef DEBUG
-         fprintf (stderr, "RDP Reset\n");
+         fprintf (stderr, "->ARMulator\n");
 #endif
 #endif
-         MYwrite_char (mumkid[1], message);
-         break;
-
-       default:
-         /* Hmm.. bad RDP operation */
-         fprintf (stderr, "RDP Bad RDP request (%d)\n", message);
-         MYwrite_char (debugsock, RDP_Return);
-         MYwrite_char (debugsock, RDIError_UnimplementedMessage);
-         break;
+         /* Anything we get from the ARMulator has to go to the debugger... */
+         /* It is that simple! */
+
+         passon (kidmum[0], debugsock, 1);
        }
     }
        }
     }
-    
-    if (FD_ISSET (kidmum[0], &readfds))
-      {
-#ifdef DEBUG
-       fprintf (stderr, "->ARMulator\n");
-#endif      
-       /* Anything we get from the ARMulator has to go to the debugger... */
-       /* It is that simple! */
-      
-       passon (kidmum[0], debugsock, 1);
-      }
-  }
 }
 }
-
This page took 0.031552 seconds and 4 git commands to generate.