Tue Dec 15 10:05:56 1992 Ian Lance Taylor (ian@cygnus.com)
[deliverable/binutils-gdb.git] / gdb / remote-adapt.c
index 34abe7622259737d407c5f230daa7f7901c5e358..98182e2818e58ef7fc69fbc41f06f43a058676ca 100644 (file)
@@ -1,5 +1,5 @@
 /* Remote debugging interface for AMD 290*0 Adapt Monitor Version 2.1d18. 
-   Copyright 1990, 1991 Free Software Foundation, Inc.
+   Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
    Contributed by David Wood at New York University (wood@lab.ultra.nyu.edu).
    Adapted from work done at Cygnus Support in remote-eb.c.
 
@@ -29,9 +29,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
        o - I can't get 19200 baud rate to work. 
    7/91 o - Freeze mode tracing can be done on a 29050.  */
 
-#include <stdio.h>
-#include <string.h>
 #include "defs.h"
+#include <string.h>
 #include "inferior.h"
 #include "wait.h"
 #include "value.h"
@@ -46,15 +45,12 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 /* External data declarations */
 extern int stop_soon_quietly;           /* for wait_for_inferior */
 
-/* External function declarations */
-extern struct value *call_function_by_hand();
-
 /* Forward data declarations */
 extern struct target_ops adapt_ops;            /* Forward declaration */
 
 /* Forward function declarations */
 static void adapt_fetch_registers ();
-static int  adapt_store_registers ();
+static void adapt_store_registers ();
 static void adapt_close ();
 static int  adapt_clear_breakpoints();
 
@@ -72,16 +68,6 @@ static int processor_type=TYPE_UNKNOWN;
 #define FREEZE_MODE    (read_register(CPS_REGNUM) && 0x400) 
 #define USE_SHADOW_PC   ((processor_type == TYPE_A29050) && FREEZE_MODE)
 
-
-/* #define DEBUG       /* */
-#ifdef DEBUG
-# define DENTER(NAME)   (printf_filtered("Entering %s\n",NAME), fflush(stdout))
-# define DEXIT(NAME)    (printf_filtered("Exiting  %s\n",NAME), fflush(stdout))
-#else
-# define DENTER(NAME)
-# define DEXIT(NAME)
-#endif
-
 /* Can't seem to get binary coff working */
 #define ASCII_COFF             /* Adapt will be downloaded with ascii coff */
 
@@ -329,11 +315,9 @@ adapt_kill(arg,from_tty)
 char   *arg;
 int    from_tty;
 {
-       DENTER("adapt_kill()");
        fprintf (adapt_stream, "K");
        fprintf (adapt_stream, "\r");
        expect_prompt ();
-       DEXIT("adapt_kill()");
 }
 /*
  * Download a file specified in 'args', to the adapt. 
@@ -348,7 +332,6 @@ int fromtty;
        int     n;
        char    buffer[1024];
        
-       DENTER("adapt_load()");
        if (!adapt_stream) {
                printf_filtered("Adapt not open. Use 'target' command to open adapt\n");
                return;
@@ -388,7 +371,6 @@ int fromtty;
        expect_prompt ();       /* Skip garbage that comes out */
        fprintf (adapt_stream, "\r");
        expect_prompt ();
-       DEXIT("adapt_load()");
 }
 
 /* This is called not only when we first attach, but also when the
@@ -401,8 +383,6 @@ adapt_create_inferior (execfile, args, env)
 {
   int entry_pt;
 
-  DENTER("adapt_create_inferior()");
-
   if (args && *args)
     error ("Can't pass arguments to remote adapt process.");
 
@@ -443,7 +423,6 @@ adapt_create_inferior (execfile, args, env)
   } else {
        printf_filtered("Adapt not open yet.\n");
   }
-  DEXIT("adapt_create_inferior()");
 }
 
 /* Translate baud rates from integers to damn B_codes.  Unix should
@@ -502,7 +481,6 @@ adapt_open (name, from_tty)
   unsigned int prl;
   char *p;
 
-  DENTER("adapt_open()");
   /* Find the first whitespace character, it separates dev_name from
      prog_name.  */
   if (name == 0)
@@ -559,8 +537,6 @@ the baud rate, and the name of the program to run on the remote system.");
   adapt_stream = fdopen (adapt_desc, "r+");
 
   push_target (&adapt_ops);
-  /* start_remote ();              /* Initialize gdb process mechanisms */
-
 
 #ifndef HAVE_TERMIO
 #ifndef NO_SIGINTERRUPT
@@ -619,7 +595,6 @@ the baud rate, and the name of the program to run on the remote system.");
        fprintf_filtered(stderr,
        "Freeze-mode debugging not available, and can only be done on an A29050.\n");
   }
-  DEXIT("adapt_open()");
 }
 
 /* Close out all files and local state before this target loses control. */
@@ -629,8 +604,6 @@ adapt_close (quitting)
      int quitting;
 {
 
-  DENTER("adapt_close()");
-
   /* Clear any break points */
   adapt_clear_breakpoints();
 
@@ -662,7 +635,6 @@ adapt_close (quitting)
     log_file = NULL;
   }
 #endif
-  DEXIT("adapt_close()");
 }
 
 /* Attach to the target that is already loaded and possibly running */
@@ -672,26 +644,12 @@ adapt_attach (args, from_tty)
      int from_tty;
 {
 
-  DENTER("adapt_attach()");
   if (from_tty)
       printf_filtered ("Attaching to remote program %s.\n", prog_name);
 
-  /* push_target(&adapt_ops);  /* This done in adapt_open() */
-
-  mark_breakpoints_out ();
-
   /* Send the adapt a kill. It is ok if it is not already running */
   fprintf(adapt_stream, "K\r"); fflush(adapt_stream);
   expect_prompt();             /* Slurp the echo */
-
-  /* We will get a task spawn event immediately.  */
-  init_wait_for_inferior ();
-  clear_proceed_status ();
-  stop_soon_quietly = 1;
-  wait_for_inferior ();
-  stop_soon_quietly = 0;
-  normal_stop ();
-  DEXIT("adapt_attach()");
 }
 
 
@@ -703,7 +661,7 @@ adapt_detach (args,from_tty)
      char *args;
      int from_tty;
 {
-  DENTER("adapt_detach()");
+
   if (adapt_stream) { /* Send it on its way (tell it to continue)  */
        adapt_clear_breakpoints();
        fprintf(adapt_stream,"G\r");
@@ -712,7 +670,6 @@ adapt_detach (args,from_tty)
   pop_target();                /* calls adapt_close to do the real work */
   if (from_tty)
     printf_filtered ("Ending remote %s debugging\n", target_shortname);
-  DEXIT("adapt_detach()");
 }
  
 /* Tell the remote machine to resume.  */
@@ -721,7 +678,6 @@ void
 adapt_resume (step, sig)
      int step, sig;
 {
-  DENTER("adapt_resume()");
   if (step)    
     {
       write (adapt_desc, "t 1,s\r", 6);
@@ -743,7 +699,6 @@ adapt_resume (step, sig)
       /* Swallow the echo.  */
       expect_prompt(); 
     }
-  DEXIT("adapt_resume()");
 }
 
 /* Wait until the remote machine stops, then return,
@@ -776,8 +731,6 @@ adapt_wait (status)
   int old_timeout = timeout;
   int old_immediate_quit = immediate_quit;
 
-  DENTER("adapt_wait()");
-
   WSETEXIT ((*status), 0);
 
   if (need_artificial_trap != 0)
@@ -828,7 +781,6 @@ adapt_wait (status)
     WSETEXIT ((*status), 0);
   timeout = old_timeout;
   immediate_quit = old_immediate_quit;
-  DEXIT("adapt_wait()");
   return 0;
 }
 
@@ -880,8 +832,6 @@ adapt_fetch_registers ()
   int  sreg_buf[16];
   int i,j;
 
-  DENTER("adapt_fetch_registers()");
-
 /* 
  * Global registers
  */
@@ -974,7 +924,7 @@ adapt_fetch_registers ()
   {
     int val = -1;
     supply_register (FPE_REGNUM, &val);
-    supply_register (INT_REGNUM, &val);
+    supply_register (INTE_REGNUM, &val);
     supply_register (FPS_REGNUM, &val);
     supply_register (EXO_REGNUM, &val);
   }
@@ -983,8 +933,6 @@ adapt_fetch_registers ()
   expect ("GR001 ");
   get_hex_regs (1, GR1_REGNUM);
   expect_prompt ();
-
-  DEXIT("adapt_fetch_registers()");
 }
 
 /* Fetch register REGNO, or all registers if REGNO is -1.
@@ -993,7 +941,6 @@ static void
 adapt_fetch_register (regno)
      int regno;
 {
-  DENTER("adapt_fetch_register()");
   if (regno == -1)
     adapt_fetch_registers ();
   else
@@ -1005,17 +952,15 @@ adapt_fetch_register (regno)
       get_hex_regs (1, regno);
       expect_prompt ();
     }
-  DEXIT("adapt_fetch_register()");
 }
 
 /* Store the remote registers from the contents of the block REGS.  */
 
-static int 
+static void
 adapt_store_registers ()
 {
   int i, j;
 
-  DENTER("adapt_store_registers()");
   fprintf (adapt_stream, "s gr1,%x\r", read_register (GR1_REGNUM));
   expect_prompt ();
 
@@ -1067,7 +1012,7 @@ adapt_store_registers ()
 
 /* Store register REGNO, or all if REGNO == -1.
    Return errno value.  */
-int
+void
 adapt_store_register (regno)
      int regno;
 {
@@ -1088,8 +1033,6 @@ adapt_store_register (regno)
        registers_changed ();
       expect_prompt ();
     }
-  DEXIT("adapt_store_registers()");
-  return 0;
 }
 
 /* Get ready to modify the registers array.  On machines which store
@@ -1162,9 +1105,7 @@ adapt_write_inferior_memory (memaddr, myaddr, len)
   int i;
   unsigned int cps;
 
-  /* DENTER("adapt_write_inferior_memory()"); */
-
-/* Turn TU bit off so we can do 'sb' commands */
+  /* Turn TU bit off so we can do 'sb' commands */
   cps = read_register(CPS_REGNUM);
   if (cps & 0x00000800)
        write_register(CPS_REGNUM,cps&~(0x00000800));
@@ -1184,7 +1125,6 @@ adapt_write_inferior_memory (memaddr, myaddr, len)
   /* Restore the old value of cps if the TU bit was on */
   if (cps & 0x00000800)
        write_register(CPS_REGNUM,cps);
-  /* DEXIT("adapt_write_inferior_memory()"); */
   return len;
 }
 
@@ -1216,7 +1156,6 @@ adapt_read_inferior_memory(memaddr, myaddr, len)
      adapt_read_bytes (CORE_ADDR_MAX - 3, foo, 4)
      doesn't need to work.  Detect it and give up if there's an attempt
      to do that.  */
-  /* DENTER("adapt_read_inferior_memory()"); */
 
   if (((memaddr - 1) + len) < memaddr)
     return EIO;
@@ -1261,8 +1200,6 @@ adapt_read_inferior_memory(memaddr, myaddr, len)
 
       startaddr += len_this_pass;
     }
-
-  /* DEXIT("adapt_read_inferior_memory()"); */
   return count;
 }
 
@@ -1273,18 +1210,15 @@ adapt_insert_breakpoint(addr, save)
 CORE_ADDR      addr;
 char           *save;  /* Throw away, let adapt save instructions */
 {
-  DENTER("adapt_insert_breakpoint()"); 
   if (num_brkpts < MAX_BREAKS) {
        num_brkpts++;
        fprintf (adapt_stream, "B %x", addr);
        fprintf (adapt_stream, "\r");
        expect_prompt ();
-       DEXIT("adapt_insert_breakpoint() success"); 
        return(0);      /* Success */
   } else {
        fprintf_filtered(stderr,
                "Too many break points, break point not installed\n");
-       DEXIT("adapt_insert_breakpoint() failure"); 
        return(1);      /* Failure */
   }
 
@@ -1294,7 +1228,6 @@ adapt_remove_breakpoint(addr, save)
 CORE_ADDR      addr;
 char           *save;  /* Throw away, let adapt save instructions */
 {
-  DENTER("adapt_remove_breakpoint()");
   if (num_brkpts > 0) {
          num_brkpts--;
          fprintf (adapt_stream, "BR %x", addr);
@@ -1302,7 +1235,6 @@ char              *save;  /* Throw away, let adapt save instructions */
          fflush (adapt_stream);
          expect_prompt ();
   }
-  DEXIT("adapt_remove_breakpoint()");
   return(0);
 }
 
@@ -1310,7 +1242,6 @@ char              *save;  /* Throw away, let adapt save instructions */
 static int
 adapt_clear_breakpoints() 
 { 
-  DENTER("adapt_clear_breakpoint()");
   if (adapt_stream) {
        fprintf (adapt_stream, "BR");   /* Clear all break points */
        fprintf (adapt_stream, "\r");
@@ -1318,16 +1249,13 @@ adapt_clear_breakpoints()
        expect_prompt ();
   }
   num_brkpts = 0;
-  DEXIT("adapt_clear_breakpoint()");
 }
 static void
 adapt_mourn() 
 { 
-  DENTER("adapt_mourn()");
   adapt_clear_breakpoints();
   pop_target ();                /* Pop back to no-child state */
   generic_mourn_inferior ();
-  DEXIT("adapt_mourn()");
 }
 
 /* Display everthing we read in from the adapt until we match/see the
@@ -1420,17 +1348,18 @@ struct target_ops adapt_ops = {
        adapt_open, adapt_close, 
        adapt_attach, adapt_detach, adapt_resume, adapt_wait,
        adapt_fetch_register, adapt_store_register,
-       adapt_prepare_to_store, 0, 0,   /* conv_to, conv_from */
+       adapt_prepare_to_store,
        adapt_xfer_inferior_memory, 
        adapt_files_info,
        adapt_insert_breakpoint, adapt_remove_breakpoint, /* Breakpoints */
        0, 0, 0, 0, 0,          /* Terminal handling */
        adapt_kill,             /* FIXME, kill */
        adapt_load, 
-       call_function_by_hand,
        0,                      /* lookup_symbol */
        adapt_create_inferior,  /* create_inferior */ 
        adapt_mourn,            /* mourn_inferior FIXME */
+       0, /* can_run */
+       0, /* notice_signals */
        process_stratum, 0, /* next */
        1, 1, 1, 1, 1,  /* all mem, mem, stack, regs, exec */
        0,0,            /* Section pointers */
This page took 0.027649 seconds and 4 git commands to generate.