]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/remote-mips.c
import gdb-1999-07-07 post reformat
[thirdparty/binutils-gdb.git] / gdb / remote-mips.c
index f5aca89d15cf79f867cff046532b3eae01aec748..6d6329d6dca554b2e29fdcb28a7b8f4cbbf87a16 100644 (file)
@@ -3,21 +3,22 @@
    Contributed by Cygnus Support.  Written by Ian Lance Taylor
    <ian@cygnus.com>.
 
-This file is part of GDB.
+   This file is part of GDB.
 
-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 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.
+   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.  */
+   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.  */
 
 #include "defs.h"
 #include "inferior.h"
@@ -46,19 +47,20 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #endif
 
 extern void mips_set_processor_type_command PARAMS ((char *, int));
-
 \f
+
 /* Breakpoint types.  Values 0, 1, and 2 must agree with the watch
    types passed by breakpoint.c to target_insert_watchpoint.
    Value 3 is our own invention, and is used for ordinary instruction
    breakpoints.  Value 4 is used to mark an unused watchpoint in tables.  */
-enum break_type {
-  BREAK_WRITE, /* 0 */
-  BREAK_READ,  /* 1 */
-  BREAK_ACCESS,        /* 2 */
-  BREAK_FETCH, /* 3 */
-  BREAK_UNUSED /* 4 */
-};
+enum break_type
+  {
+    BREAK_WRITE,               /* 0 */
+    BREAK_READ,                        /* 1 */
+    BREAK_ACCESS,              /* 2 */
+    BREAK_FETCH,               /* 3 */
+    BREAK_UNUSED               /* 4 */
+  };
 
 /* Prototypes for local functions.  */
 
@@ -82,8 +84,8 @@ static int mips_receive_packet PARAMS ((char *buff, int throw_error,
                                        int timeout));
 
 static CORE_ADDR mips_request PARAMS ((int cmd, CORE_ADDR addr,
-                                CORE_ADDR data, int *perr, int timeout,
-                                char *buff));
+                                    CORE_ADDR data, int *perr, int timeout,
+                                      char *buff));
 
 static void mips_initialize PARAMS ((void));
 
@@ -102,7 +104,7 @@ static void mips_detach PARAMS ((char *args, int from_tty));
 static void mips_resume PARAMS ((int pid, int step,
                                 enum target_signal siggnal));
 
-static int mips_wait PARAMS ((int pid, struct target_waitstatus *status));
+static int mips_wait PARAMS ((int pid, struct target_waitstatus * status));
 
 static int mips_map_regno PARAMS ((int regno));
 
@@ -118,9 +120,9 @@ static int mips_store_word PARAMS ((CORE_ADDR addr, unsigned int value,
                                    char *old_contents));
 
 static int mips_xfer_memory PARAMS ((CORE_ADDR memaddr, char *myaddr, int len,
-                                    int write, struct target_ops *ignore));
+                                    int write, struct target_ops * ignore));
 
-static void mips_files_info PARAMS ((struct target_ops *ignore));
+static void mips_files_info PARAMS ((struct target_ops * ignore));
 
 static void mips_create_inferior PARAMS ((char *execfile, char *args,
                                          char **env));
@@ -130,13 +132,13 @@ static void mips_mourn_inferior PARAMS ((void));
 static int pmon_makeb64 PARAMS ((unsigned long v, char *p, int n, int *chksum));
 
 static int pmon_zeroset PARAMS ((int recsize, char **buff, int *amount,
-                                 unsigned int *chksum));
+                                unsigned int *chksum));
 
 static int pmon_checkset PARAMS ((int recsize, char **buff, int *value));
 
 static void pmon_make_fastrec PARAMS ((char **outbuf, unsigned char *inbuf,
-                                       int *inptr, int inamount, int *recsize,
-                                       unsigned int *csum, unsigned int *zerofill));
+                                    int *inptr, int inamount, int *recsize,
+                              unsigned int *csum, unsigned int *zerofill));
 
 static int pmon_check_ack PARAMS ((char *mesg));
 
@@ -166,66 +168,65 @@ static int common_breakpoint PARAMS ((int set, CORE_ADDR addr, int len,
 extern struct target_ops mips_ops;
 extern struct target_ops pmon_ops;
 extern struct target_ops ddb_ops;
-\f
-/* *INDENT-OFF* */
+\f/* *INDENT-OFF* */
 /* The MIPS remote debugging interface is built on top of a simple
    packet protocol.  Each packet is organized as follows:
 
-   SYN The first character is always a SYN (ASCII 026, or ^V).  SYN
-       may not appear anywhere else in the packet.  Any time a SYN is
-       seen, a new packet should be assumed to have begun.
+   SYN  The first character is always a SYN (ASCII 026, or ^V).  SYN
+   may not appear anywhere else in the packet.  Any time a SYN is
+   seen, a new packet should be assumed to have begun.
 
    TYPE_LEN
-       This byte contains the upper five bits of the logical length
-       of the data section, plus a single bit indicating whether this
-       is a data packet or an acknowledgement.  The documentation
-       indicates that this bit is 1 for a data packet, but the actual
-       board uses 1 for an acknowledgement.  The value of the byte is
-               0x40 + (ack ? 0x20 : 0) + (len >> 6)
-       (we always have 0 <= len < 1024).  Acknowledgement packets do
-       not carry data, and must have a data length of 0.
+   This byte contains the upper five bits of the logical length
+   of the data section, plus a single bit indicating whether this
+   is a data packet or an acknowledgement.  The documentation
+   indicates that this bit is 1 for a data packet, but the actual
+   board uses 1 for an acknowledgement.  The value of the byte is
+   0x40 + (ack ? 0x20 : 0) + (len >> 6)
+   (we always have 0 <= len < 1024).  Acknowledgement packets do
+   not carry data, and must have a data length of 0.
 
    LEN1 This byte contains the lower six bits of the logical length of
-       the data section.  The value is
-               0x40 + (len & 0x3f)
-
-   SEQ This byte contains the six bit sequence number of the packet.
-       The value is
-               0x40 + seq
-       An acknowlegment packet contains the sequence number of the
-       packet being acknowledged plus 1 modulo 64.  Data packets are
-       transmitted in sequence.  There may only be one outstanding
-       unacknowledged data packet at a time.  The sequence numbers
-       are independent in each direction.  If an acknowledgement for
-       the previous packet is received (i.e., an acknowledgement with
-       the sequence number of the packet just sent) the packet just
-       sent should be retransmitted.  If no acknowledgement is
-       received within a timeout period, the packet should be
-       retransmitted.  This has an unfortunate failure condition on a
-       high-latency line, as a delayed acknowledgement may lead to an
-       endless series of duplicate packets.
-
-   DATA        The actual data bytes follow.  The following characters are
-       escaped inline with DLE (ASCII 020, or ^P):
-               SYN (026)       DLE S
-               DLE (020)       DLE D
-               ^C  (003)       DLE C
-               ^S  (023)       DLE s
-               ^Q  (021)       DLE q
-       The additional DLE characters are not counted in the logical
-       length stored in the TYPE_LEN and LEN1 bytes.
+   the data section.  The value is
+   0x40 + (len & 0x3f)
+
+   SEQ  This byte contains the six bit sequence number of the packet.
+   The value is
+   0x40 + seq
+   An acknowlegment packet contains the sequence number of the
+   packet being acknowledged plus 1 modulo 64.  Data packets are
+   transmitted in sequence.  There may only be one outstanding
+   unacknowledged data packet at a time.  The sequence numbers
+   are independent in each direction.  If an acknowledgement for
+   the previous packet is received (i.e., an acknowledgement with
+   the sequence number of the packet just sent) the packet just
+   sent should be retransmitted.  If no acknowledgement is
+   received within a timeout period, the packet should be
+   retransmitted.  This has an unfortunate failure condition on a
+   high-latency line, as a delayed acknowledgement may lead to an
+   endless series of duplicate packets.
+
+   DATA The actual data bytes follow.  The following characters are
+   escaped inline with DLE (ASCII 020, or ^P):
+   SYN (026)    DLE S
+   DLE (020)    DLE D
+   ^C  (003)    DLE C
+   ^S  (023)    DLE s
+   ^Q  (021)    DLE q
+   The additional DLE characters are not counted in the logical
+   length stored in the TYPE_LEN and LEN1 bytes.
 
    CSUM1
    CSUM2
    CSUM3
-       These bytes contain an 18 bit checksum of the complete
-       contents of the packet excluding the SEQ byte and the
-       CSUM[123] bytes.  The checksum is simply the twos complement
-       addition of all the bytes treated as unsigned characters.  The
-       values of the checksum bytes are:
-               CSUM1: 0x40 + ((cksum >> 12) & 0x3f)
-               CSUM2: 0x40 + ((cksum >> 6) & 0x3f)
-               CSUM3: 0x40 + (cksum & 0x3f)
+   These bytes contain an 18 bit checksum of the complete
+   contents of the packet excluding the SEQ byte and the
+   CSUM[123] bytes.  The checksum is simply the twos complement
+   addition of all the bytes treated as unsigned characters.  The
+   values of the checksum bytes are:
+   CSUM1: 0x40 + ((cksum >> 12) & 0x3f)
+   CSUM2: 0x40 + ((cksum >> 6) & 0x3f)
+   CSUM3: 0x40 + (cksum & 0x3f)
 
    It happens that the MIPS remote debugging protocol always
    communicates with ASCII strings.  Because of this, this
@@ -233,6 +234,7 @@ extern struct target_ops ddb_ops;
    since it will never be required.  */
 /* *INDENT-ON* */
 
+
 /* The SYN character which starts each packet.  */
 #define SYN '\026'
 
@@ -313,16 +315,17 @@ extern struct target_ops ddb_ops;
    vector later.  */
 struct target_ops mips_ops, pmon_ops, ddb_ops, lsi_ops;
 
-enum mips_monitor_type {
-  /* IDT/SIM monitor being used: */
-  MON_IDT,
-  /* PMON monitor being used: */
-  MON_PMON, /* 3.0.83 [COGENT,EB,FP,NET] Algorithmics Ltd. Nov  9 1995 17:19:50 */
-  MON_DDB,  /* 2.7.473 [DDBVR4300,EL,FP,NET] Risq Modular Systems,  Thu Jun 6 09:28:40 PDT 1996 */
-  MON_LSI,  /* 4.3.12 [EB,FP], LSI LOGIC Corp. Tue Feb 25 13:22:14 1997 */
-  /* Last and unused value, for sizing vectors, etc. */
-  MON_LAST
-};
+enum mips_monitor_type
+  {
+    /* IDT/SIM monitor being used: */
+    MON_IDT,
+    /* PMON monitor being used: */
+    MON_PMON,                  /* 3.0.83 [COGENT,EB,FP,NET] Algorithmics Ltd. Nov  9 1995 17:19:50 */
+    MON_DDB,                   /* 2.7.473 [DDBVR4300,EL,FP,NET] Risq Modular Systems,  Thu Jun 6 09:28:40 PDT 1996 */
+    MON_LSI,                   /* 4.3.12 [EB,FP], LSI LOGIC Corp. Tue Feb 25 13:22:14 1997 */
+    /* Last and unused value, for sizing vectors, etc. */
+    MON_LAST
+  };
 static enum mips_monitor_type mips_monitor = MON_LAST;
 
 /* The monitor prompt text.  If the user sets the PMON prompt
@@ -331,12 +334,12 @@ static enum mips_monitor_type mips_monitor = MON_LAST;
    will not be able to connect to PMON in mips_initialize().
    If the `set monitor-prompt' command is not used, the expected
    default prompt will be set according the target:
-       target          prompt
-       -----           -----
-       pmon            PMON> 
-       ddb             NEC010>
-       lsi             PMON>
-*/
+   target               prompt
+   -----                -----
+   pmon         PMON> 
+   ddb          NEC010>
+   lsi          PMON>
+ */
 static char *mips_monitor_prompt;
 
 /* Set to 1 if the target is open.  */
@@ -400,7 +403,7 @@ static monitor_supports_breakpoints = 0;
 
 /* Data cache header.  */
 
-#if 0  /* not used (yet?) */
+#if 0                          /* not used (yet?) */
 static DCACHE *mips_dcache;
 #endif
 
@@ -410,52 +413,53 @@ static int hit_watchpoint;
 /* Table of breakpoints/watchpoints (used only on LSI PMON target).
    The table is indexed by a breakpoint number, which is an integer
    from 0 to 255 returned by the LSI PMON when a breakpoint is set.
-*/
+ */
 #define MAX_LSI_BREAKPOINTS 256
 struct lsi_breakpoint_info
-{
-  enum break_type type;                /* type of breakpoint */
-  CORE_ADDR addr;              /* address of breakpoint */
-  int len;                     /* length of region being watched */
-  unsigned long value;         /* value to watch */
-} lsi_breakpoints [MAX_LSI_BREAKPOINTS];
+  {
+    enum break_type type;      /* type of breakpoint */
+    CORE_ADDR addr;            /* address of breakpoint */
+    int len;                   /* length of region being watched */
+    unsigned long value;       /* value to watch */
+  }
+lsi_breakpoints[MAX_LSI_BREAKPOINTS];
 
 /* Error/warning codes returned by LSI PMON for breakpoint commands.
    Warning values may be ORed together; error values may not.  */
-#define W_WARN 0x100   /* This bit is set if the error code is a warning */
-#define W_MSK   0x101  /* warning: Range feature is supported via mask */
-#define W_VAL   0x102  /* warning: Value check is not supported in hardware */
-#define W_QAL   0x104  /* warning: Requested qualifiers are not supported in hardware */
-
-#define E_ERR  0x200   /* This bit is set if the error code is an error */
-#define E_BPT   0x200  /* error: No such breakpoint number */
-#define E_RGE   0x201  /* error: Range is not supported */
-#define E_QAL   0x202  /* error: The requested qualifiers can not be used */
-#define E_OUT   0x203  /* error: Out of hardware resources */
-#define E_NON   0x204  /* error: Hardware breakpoint not supported */
+#define W_WARN 0x100           /* This bit is set if the error code is a warning */
+#define W_MSK   0x101          /* warning: Range feature is supported via mask */
+#define W_VAL   0x102          /* warning: Value check is not supported in hardware */
+#define W_QAL   0x104          /* warning: Requested qualifiers are not supported in hardware */
+
+#define E_ERR  0x200           /* This bit is set if the error code is an error */
+#define E_BPT   0x200          /* error: No such breakpoint number */
+#define E_RGE   0x201          /* error: Range is not supported */
+#define E_QAL   0x202          /* error: The requested qualifiers can not be used */
+#define E_OUT   0x203          /* error: Out of hardware resources */
+#define E_NON   0x204          /* error: Hardware breakpoint not supported */
 
 struct lsi_error
-{
-  int code;            /* error code */
-  char *string;                /* string associated with this code */
-};
+  {
+    int code;                  /* error code */
+    char *string;              /* string associated with this code */
+  };
 
 struct lsi_error lsi_warning_table[] =
 {
-  { W_MSK,     "Range feature is supported via mask" },
-  { W_VAL,     "Value check is not supported in hardware" },
-  { W_QAL,     "Requested qualifiers are not supported in hardware" },
-  { 0,         NULL }
+  {W_MSK, "Range feature is supported via mask"},
+  {W_VAL, "Value check is not supported in hardware"},
+  {W_QAL, "Requested qualifiers are not supported in hardware"},
+  {0, NULL}
 };
 
 struct lsi_error lsi_error_table[] =
-{  
-  { E_BPT,     "No such breakpoint number" },
-  { E_RGE,     "Range is not supported" },
-  { E_QAL,     "The requested qualifiers can not be used" },
-  { E_OUT,     "Out of hardware resources" },
-  { E_NON,     "Hardware breakpoint not supported" },
-  { 0,         NULL }
+{
+  {E_BPT, "No such breakpoint number"},
+  {E_RGE, "Range is not supported"},
+  {E_QAL, "The requested qualifiers can not be used"},
+  {E_OUT, "Out of hardware resources"},
+  {E_NON, "Hardware breakpoint not supported"},
+  {0, NULL}
 };
 
 /* Set to 1 with the 'set monitor-warnings' command to enable printing
@@ -464,7 +468,7 @@ static int monitor_warnings;
 
 
 static void
-close_ports()
+close_ports ()
 {
   mips_is_open = 0;
   SERIAL_CLOSE (mips_desc);
@@ -476,7 +480,7 @@ close_ports()
     }
   tftp_in_use = 0;
 }
-    
+
 /* Handle low-level error that we can't recover from.  Note that just
    error()ing out from target_wait or some such low-level place will cause
    all hell to break loose--the rest of GDB will tend to get left in an
@@ -484,7 +488,7 @@ close_ports()
 
 static NORETURN void
 #ifdef ANSI_PROTOTYPES
-mips_error (char *string, ...)
+mips_error (char *string,...)
 #else
 mips_error (va_alist)
      va_dcl
@@ -499,9 +503,9 @@ mips_error (va_alist)
   va_start (args);
   string = va_arg (args, char *);
 #endif
+
   target_terminal_ours ();
-  wrap_here("");                       /* Force out any buffered output */
+  wrap_here ("");              /* Force out any buffered output */
   gdb_flush (gdb_stdout);
   if (error_pre_print)
     fprintf_filtered (gdb_stderr, error_pre_print);
@@ -533,9 +537,9 @@ fputc_readable (ch, file)
     fputc_unfiltered ('\n', file);
   else if (ch == '\r')
     fprintf_unfiltered (file, "\\r");
-  else if (ch < 0x20)  /* ASCII control character */
+  else if (ch < 0x20)          /* ASCII control character */
     fprintf_unfiltered (file, "^%c", ch + '@');
-  else if (ch >= 0x7f) /* non-ASCII characters (rubout or greater) */
+  else if (ch >= 0x7f)         /* non-ASCII characters (rubout or greater) */
     fprintf_unfiltered (file, "[%02x]", ch & 0xff);
   else
     fputc_unfiltered (ch, file);
@@ -559,7 +563,7 @@ fputs_readable (string, file)
 
 /* Wait until STRING shows up in mips_desc.  Returns 1 if successful, else 0 if
    timed out.  TIMEOUT specifies timeout value in seconds.
-*/
+ */
 
 int
 mips_expect_timeout (string, timeout)
@@ -596,7 +600,7 @@ mips_expect_timeout (string, timeout)
        fputc_readable (c, gdb_stdlog);
 
       if (c == *p++)
-       {       
+       {
          if (*p == '\0')
            {
              immediate_quit = 0;
@@ -617,13 +621,13 @@ mips_expect_timeout (string, timeout)
 /* Wait until STRING shows up in mips_desc.  Returns 1 if successful, else 0 if
    timed out.  The timeout value is hard-coded to 2 seconds.  Use
    mips_expect_timeout if a different timeout value is needed.
-*/
+ */
 
 int
 mips_expect (string)
      char *string;
 {
-    return mips_expect_timeout (string, 2);
+  return mips_expect_timeout (string, 2);
 }
 
 /* Read the required number of characters into the given buffer (which
@@ -641,11 +645,12 @@ mips_getstring (string, n)
     {
       c = SERIAL_READCHAR (mips_desc, 2);
 
-      if (c == SERIAL_TIMEOUT) {
-        fprintf_unfiltered (gdb_stderr,
-                           "Failed to read %d characters from target (TIMEOUT)\n", n);
-       return 0;
-      }
+      if (c == SERIAL_TIMEOUT)
+       {
+         fprintf_unfiltered (gdb_stderr,
+                "Failed to read %d characters from target (TIMEOUT)\n", n);
+         return 0;
+       }
 
       *p++ = c;
       n--;
@@ -681,14 +686,14 @@ mips_readchar (timeout)
 
     i = timeout;
     if (i == -1 && watchdog > 0)
-     i = watchdog;
+      i = watchdog;
   }
 
   if (state == mips_monitor_prompt_len)
     timeout = 1;
   ch = SERIAL_READCHAR (mips_desc, timeout);
 
-  if (ch == SERIAL_TIMEOUT && timeout == -1) /* Watchdog went off */
+  if (ch == SERIAL_TIMEOUT && timeout == -1)   /* Watchdog went off */
     {
       target_mourn_inferior ();
       error ("Watchdog has expired.  Target detached.\n");
@@ -701,7 +706,7 @@ mips_readchar (timeout)
   if (remote_debug > 1)
     {
       /* Don't use _filtered; we can't deal with a QUIT out of
-        target_wait, and I think this might be called from there.  */
+         target_wait, and I think this might be called from there.  */
       if (ch != SERIAL_TIMEOUT)
        fprintf_unfiltered (gdb_stdlog, "Read '%c' %d 0x%x\n", ch, ch, ch);
       else
@@ -715,8 +720,8 @@ mips_readchar (timeout)
      more than 64 characters long, which ours never are.  */
   if ((ch == SERIAL_TIMEOUT || ch == '@')
       && state == mips_monitor_prompt_len
-      && ! mips_initializing
-      && ! mips_exiting)
+      && !mips_initializing
+      && !mips_exiting)
     {
       if (remote_debug > 0)
        /* Don't use _filtered; we can't deal with a QUIT out of
@@ -729,7 +734,7 @@ mips_readchar (timeout)
       state = 0;
 
       /* At this point, about the only thing we can do is abort the command
-        in progress and get back to command level as quickly as possible. */
+         in progress and get back to command level as quickly as possible. */
 
       error ("Remote board reset, debug protocol re-initialized.");
     }
@@ -759,21 +764,21 @@ mips_receive_header (hdr, pgarbage, ch, timeout)
   while (1)
     {
       /* Wait for a SYN.  mips_syn_garbage is intended to prevent
-        sitting here indefinitely if the board sends us one garbage
-        character per second.  ch may already have a value from the
-        last time through the loop.  */
+         sitting here indefinitely if the board sends us one garbage
+         character per second.  ch may already have a value from the
+         last time through the loop.  */
       while (ch != SYN)
        {
          ch = mips_readchar (timeout);
          if (ch == SERIAL_TIMEOUT)
-           return -1;
+           return -1;
          if (ch != SYN)
            {
              /* Printing the character here lets the user of gdb see
-                what the program is outputting, if the debugging is
-                being done on the console port.  Don't use _filtered;
-                we can't deal with a QUIT out of target_wait.  */
-             if (! mips_initializing || remote_debug > 0)
+                what the program is outputting, if the debugging is
+                being done on the console port.  Don't use _filtered;
+                we can't deal with a QUIT out of target_wait.  */
+             if (!mips_initializing || remote_debug > 0)
                {
                  fputc_readable (ch, gdb_stdlog);
                  gdb_flush (gdb_stdlog);
@@ -782,7 +787,7 @@ mips_receive_header (hdr, pgarbage, ch, timeout)
              ++*pgarbage;
              if (mips_syn_garbage > 0
                  && *pgarbage > mips_syn_garbage)
-               mips_error ("Debug protocol failure:  more than %d characters before a sync.", 
+               mips_error ("Debug protocol failure:  more than %d characters before a sync.",
                            mips_syn_garbage);
            }
        }
@@ -792,18 +797,18 @@ mips_receive_header (hdr, pgarbage, ch, timeout)
        {
          ch = mips_readchar (timeout);
          if (ch == SERIAL_TIMEOUT)
-            return -1;
+           return -1;
          /* Make sure this is a header byte.  */
-         if (ch == SYN || ! HDR_CHECK (ch))
+         if (ch == SYN || !HDR_CHECK (ch))
            break;
 
          hdr[i] = ch;
        }
 
       /* If we got the complete header, we can return.  Otherwise we
-        loop around and keep looking for SYN.  */
+         loop around and keep looking for SYN.  */
       if (i >= HDR_LENGTH)
-        return 0;
+       return 0;
     }
 }
 
@@ -828,7 +833,7 @@ mips_receive_trailer (trlr, pgarbage, pch, timeout)
       *pch = ch;
       if (ch == SERIAL_TIMEOUT)
        return -1;
-      if (! TRLR_CHECK (ch))
+      if (!TRLR_CHECK (ch))
        return -2;
       trlr[i] = ch;
     }
@@ -855,7 +860,7 @@ mips_cksum (hdr, data, len)
   p = hdr + 1;
   while (c-- != 0)
     cksum += *p++;
-  
+
   c = len;
   p = data;
   while (c-- != 0)
@@ -918,7 +923,7 @@ mips_send_packet (s, get_ack)
                        HDR_LENGTH + len + TRLR_LENGTH) != 0)
        mips_error ("write to target failed: %s", safe_strerror (errno));
 
-      if (! get_ack)
+      if (!get_ack)
        return;
 
       garbage = 0;
@@ -942,36 +947,37 @@ mips_send_packet (s, get_ack)
             ignore it.  FIXME: If the acknowledgement is lost, this
             data packet may be the packet the remote sends after the
             acknowledgement.  */
-         if (HDR_IS_DATA (hdr)) {
-            int i;
-
-            /* Ignore any errors raised whilst attempting to ignore
-               packet. */
-
-            len = HDR_GET_LEN (hdr);
-
-            for (i = 0; i < len; i++)
-              {
-                int rch;
-
-                rch = mips_readchar (2);
-                if (rch == SYN)
-                  {
-                    ch = SYN;
-                    break;
-                  }
-                if (rch == SERIAL_TIMEOUT)
-                  break;
-                /* ignore the character */
-              }
-
-            if (i == len)
-              (void) mips_receive_trailer (trlr, &garbage, &ch, 2);
-
-            /* We don't bother checking the checksum, or providing an
-               ACK to the packet. */
-           continue;
-          }
+         if (HDR_IS_DATA (hdr))
+           {
+             int i;
+
+             /* Ignore any errors raised whilst attempting to ignore
+                packet. */
+
+             len = HDR_GET_LEN (hdr);
+
+             for (i = 0; i < len; i++)
+               {
+                 int rch;
+
+                 rch = mips_readchar (2);
+                 if (rch == SYN)
+                   {
+                     ch = SYN;
+                     break;
+                   }
+                 if (rch == SERIAL_TIMEOUT)
+                   break;
+                 /* ignore the character */
+               }
+
+             if (i == len)
+               (void) mips_receive_trailer (trlr, &garbage, &ch, 2);
+
+             /* We don't bother checking the checksum, or providing an
+                ACK to the packet. */
+             continue;
+           }
 
          /* If the length is not 0, this is a garbled packet.  */
          if (HDR_GET_LEN (hdr) != 0)
@@ -1000,7 +1006,7 @@ mips_send_packet (s, get_ack)
              hdr[HDR_LENGTH] = '\0';
              trlr[TRLR_LENGTH] = '\0';
              /* Don't use _filtered; we can't deal with a QUIT out of
-                target_wait, and I think this might be called from there.  */
+                target_wait, and I think this might be called from there.  */
              fprintf_unfiltered (gdb_stdlog, "Got ack %d \"%s%s\"\n",
                                  HDR_GET_SEQ (hdr), hdr + 1, trlr);
            }
@@ -1064,17 +1070,17 @@ mips_receive_packet (buff, throw_error, timeout)
       ch = 0;
 
       /* An acknowledgement is probably a duplicate; ignore it.  */
-      if (! HDR_IS_DATA (hdr))
+      if (!HDR_IS_DATA (hdr))
        {
-          len = HDR_GET_LEN (hdr);
-          /* Check if the length is valid for an ACK, we may aswell
-             try and read the remainder of the packet: */
-          if (len == 0)
-            {
-              /* Ignore the error condition, since we are going to
-                 ignore the packet anyway. */
-              (void) mips_receive_trailer (trlr, &garbage, &ch, timeout);
-            }
+         len = HDR_GET_LEN (hdr);
+         /* Check if the length is valid for an ACK, we may aswell
+            try and read the remainder of the packet: */
+         if (len == 0)
+           {
+             /* Ignore the error condition, since we are going to
+                ignore the packet anyway. */
+             (void) mips_receive_trailer (trlr, &garbage, &ch, timeout);
+           }
          /* Don't use _filtered; we can't deal with a QUIT out of
             target_wait, and I think this might be called from there.  */
          if (remote_debug > 0)
@@ -1138,23 +1144,23 @@ mips_receive_packet (buff, throw_error, timeout)
             target_wait, and I think this might be called from there.  */
          if (remote_debug > 0)
            fprintf_unfiltered (gdb_stdlog,
-                              "Ignoring sequence number %d (want %d)\n",
-                              HDR_GET_SEQ (hdr), mips_receive_seq);
+                               "Ignoring sequence number %d (want %d)\n",
+                               HDR_GET_SEQ (hdr), mips_receive_seq);
          continue;
        }
 
       if (mips_cksum (hdr, buff, len) == TRLR_GET_CKSUM (trlr))
-        break;
+       break;
 
       if (remote_debug > 0)
        /* Don't use _filtered; we can't deal with a QUIT out of
           target_wait, and I think this might be called from there.  */
        printf_unfiltered ("Bad checksum; data %d, trailer %d\n",
-                        mips_cksum (hdr, buff, len),
-                        TRLR_GET_CKSUM (trlr));
+                          mips_cksum (hdr, buff, len),
+                          TRLR_GET_CKSUM (trlr));
 
       /* The checksum failed.  Send an acknowledgement for the
-        previous packet to tell the remote to resend the packet.  */
+         previous packet to tell the remote to resend the packet.  */
       ack[HDR_INDX_SYN] = HDR_SET_SYN (0, 0, mips_receive_seq);
       ack[HDR_INDX_TYPE_LEN] = HDR_SET_TYPE_LEN (0, 0, mips_receive_seq);
       ack[HDR_INDX_LEN1] = HDR_SET_LEN1 (0, 0, mips_receive_seq);
@@ -1172,7 +1178,7 @@ mips_receive_packet (buff, throw_error, timeout)
          /* Don't use _filtered; we can't deal with a QUIT out of
             target_wait, and I think this might be called from there.  */
          printf_unfiltered ("Writing ack %d \"%s\"\n", mips_receive_seq,
-                          ack + 1);
+                            ack + 1);
        }
 
       if (SERIAL_WRITE (mips_desc, ack, HDR_LENGTH + TRLR_LENGTH) != 0)
@@ -1188,7 +1194,7 @@ mips_receive_packet (buff, throw_error, timeout)
     {
       buff[len] = '\0';
       /* Don't use _filtered; we can't deal with a QUIT out of
-        target_wait, and I think this might be called from there.  */
+         target_wait, and I think this might be called from there.  */
       printf_unfiltered ("Got packet \"%s\"\n", buff);
     }
 
@@ -1210,9 +1216,9 @@ mips_receive_packet (buff, throw_error, timeout)
     {
       ack[HDR_LENGTH + TRLR_LENGTH] = '\0';
       /* Don't use _filtered; we can't deal with a QUIT out of
-        target_wait, and I think this might be called from there.  */
+         target_wait, and I think this might be called from there.  */
       printf_unfiltered ("Writing ack %d \"%s\"\n", mips_receive_seq,
-                      ack + 1);
+                        ack + 1);
     }
 
   if (SERIAL_WRITE (mips_desc, ack, HDR_LENGTH + TRLR_LENGTH) != 0)
@@ -1232,15 +1238,15 @@ mips_receive_packet (buff, throw_error, timeout)
    request has an ADDR argument and a DATA argument.  The following
    requests are defined:
 
-   \0  don't send a request; just wait for a reply
-   i   read word from instruction space at ADDR
-   d   read word from data space at ADDR
-   I   write DATA to instruction space at ADDR
-   D   write DATA to data space at ADDR
-   r   read register number ADDR
-   R   set register number ADDR to value DATA
-   c   continue execution (if ADDR != 1, set pc to ADDR)
-   s   single step (if ADDR != 1, set pc to ADDR)
+   \0   don't send a request; just wait for a reply
+   i    read word from instruction space at ADDR
+   d    read word from data space at ADDR
+   I    write DATA to instruction space at ADDR
+   D    write DATA to data space at ADDR
+   r    read register number ADDR
+   R    set register number ADDR to value DATA
+   c    continue execution (if ADDR != 1, set pc to ADDR)
+   s    single step (if ADDR != 1, set pc to ADDR)
 
    The read requests return the value requested.  The write requests
    return the previous value in the changed location.  The execution
@@ -1251,7 +1257,7 @@ mips_receive_packet (buff, throw_error, timeout)
    occurs, it sets *PERR to 1 and sets errno according to what the
    target board reports.  */
 
-static CORE_ADDR 
+static CORE_ADDR
 mips_request (cmd, addr, data, perr, timeout, buff)
      int cmd;
      CORE_ADDR addr;
@@ -1282,7 +1288,7 @@ mips_request (cmd, addr, data, perr, timeout, buff)
   if (perr == (int *) NULL)
     return 0;
 
-  if (! mips_need_reply)
+  if (!mips_need_reply)
     fatal ("mips_request: Trying to get reply before command");
 
   mips_need_reply = 0;
@@ -1300,9 +1306,9 @@ mips_request (cmd, addr, data, perr, timeout, buff)
       *perr = 1;
 
       /* FIXME: This will returns MIPS errno numbers, which may or may
-        not be the same as errno values used on other systems.  If
-        they stick to common errno values, they will be the same, but
-        if they don't, they must be translated.  */
+         not be the same as errno values used on other systems.  If
+         they stick to common errno values, they will be the same, but
+         if they don't, they must be translated.  */
       errno = rresponse;
 
       return 0;
@@ -1331,7 +1337,7 @@ mips_send_command (cmd, prompt)
      const char *cmd;
      int prompt;
 {
-  SERIAL_WRITE (mips_desc, cmd, strlen(cmd));
+  SERIAL_WRITE (mips_desc, cmd, strlen (cmd));
   mips_expect (cmd);
   mips_expect ("\n");
   if (prompt)
@@ -1348,10 +1354,10 @@ mips_enter_debug ()
 
   if (mips_monitor != MON_IDT)
     mips_send_command ("debug\r", 0);
-  else /* assume IDT monitor by default */
+  else                         /* assume IDT monitor by default */
     mips_send_command ("db tty0\r", 0);
 
-  sleep(1);
+  sleep (1);
   SERIAL_WRITE (mips_desc, "\r", sizeof "\r" - 1);
 
   /* We don't need to absorb any spurious characters here, since the
@@ -1360,7 +1366,7 @@ mips_enter_debug ()
      being displayed to the user. */
   if (mips_monitor != MON_IDT)
     mips_expect ("\r");
-  
+
   {
     char buff[DATA_MAXLEN + 1];
     if (mips_receive_packet (buff, 1, 3) < 0)
@@ -1382,14 +1388,14 @@ mips_exit_debug ()
       /* The DDB (NEC) and MiniRISC (LSI) versions of PMON exit immediately,
          so we do not get a reply to this command: */
       mips_request ('x', (unsigned int) 0, (unsigned int) 0, NULL,
-               mips_receive_wait, NULL);
+                   mips_receive_wait, NULL);
       mips_need_reply = 0;
       if (!mips_expect (" break!"))
-        return -1;
+       return -1;
     }
   else
     mips_request ('x', (unsigned int) 0, (unsigned int) 0, &err,
-                  mips_receive_wait, NULL);
+                 mips_receive_wait, NULL);
 
   if (!mips_expect (mips_monitor_prompt))
     return -1;
@@ -1428,65 +1434,65 @@ mips_initialize ()
   /* Force the system into the monitor.  After this we *should* be at
      the mips_monitor_prompt.  */
   if (mips_monitor != MON_IDT)
-    j = 0; /* start by checking if we are already at the prompt */
+    j = 0;                     /* start by checking if we are already at the prompt */
   else
-    j = 1; /* start by sending a break */
+    j = 1;                     /* start by sending a break */
   for (; j <= 4; j++)
     {
       switch (j)
        {
-        case 0:                 /* First, try sending a CR */
-          SERIAL_FLUSH_INPUT (mips_desc);
+       case 0:         /* First, try sending a CR */
+         SERIAL_FLUSH_INPUT (mips_desc);
          SERIAL_WRITE (mips_desc, "\r", 1);
-          break;
-       case 1:                 /* First, try sending a break */
+         break;
+       case 1:         /* First, try sending a break */
          SERIAL_SEND_BREAK (mips_desc);
          break;
-       case 2:                 /* Then, try a ^C */
+       case 2:         /* Then, try a ^C */
          SERIAL_WRITE (mips_desc, "\003", 1);
          break;
-       case 3:                 /* Then, try escaping from download */
+       case 3:         /* Then, try escaping from download */
          {
-            if (mips_monitor != MON_IDT)
-              {
-                char tbuff[7];
-
-                /* We shouldn't need to send multiple termination
-                   sequences, since the target performs line (or
-                   block) reads, and then processes those
-                   packets. In-case we were downloading a large packet
-                   we flush the output buffer before inserting a
-                   termination sequence. */
-                SERIAL_FLUSH_OUTPUT (mips_desc);
-                sprintf (tbuff, "\r/E/E\r");
-                SERIAL_WRITE (mips_desc, tbuff, 6);
-              }
-            else
-              {
-                char srec[10];
-                int i;
-
-                /* We are possibly in binary download mode, having
-                   aborted in the middle of an S-record.  ^C won't
-                   work because of binary mode.  The only reliable way
-                   out is to send enough termination packets (8 bytes)
-                   to fill up and then overflow the largest size
-                   S-record (255 bytes in this case).  This amounts to
-                   256/8 + 1 packets.
-                   */
-
-                mips_make_srec (srec, '7', 0, NULL, 0);
-
-                for (i = 1; i <= 33; i++)
-                  {
-                    SERIAL_WRITE (mips_desc, srec, 8);
-
-                    if (SERIAL_READCHAR (mips_desc, 0) >= 0)
-                      break;   /* Break immediatly if we get something from
+           if (mips_monitor != MON_IDT)
+             {
+               char tbuff[7];
+
+               /* We shouldn't need to send multiple termination
+                  sequences, since the target performs line (or
+                  block) reads, and then processes those
+                  packets. In-case we were downloading a large packet
+                  we flush the output buffer before inserting a
+                  termination sequence. */
+               SERIAL_FLUSH_OUTPUT (mips_desc);
+               sprintf (tbuff, "\r/E/E\r");
+               SERIAL_WRITE (mips_desc, tbuff, 6);
+             }
+           else
+             {
+               char srec[10];
+               int i;
+
+               /* We are possibly in binary download mode, having
+                  aborted in the middle of an S-record.  ^C won't
+                  work because of binary mode.  The only reliable way
+                  out is to send enough termination packets (8 bytes)
+                  to fill up and then overflow the largest size
+                  S-record (255 bytes in this case).  This amounts to
+                  256/8 + 1 packets.
+                */
+
+               mips_make_srec (srec, '7', 0, NULL, 0);
+
+               for (i = 1; i <= 33; i++)
+                 {
+                   SERIAL_WRITE (mips_desc, srec, 8);
+
+                   if (SERIAL_READCHAR (mips_desc, 0) >= 0)
+                     break;    /* Break immediatly if we get something from
                                   the board. */
-                  }
-              }
-          }
+                 }
+             }
+         }
          break;
        case 4:
          mips_error ("Failed to initialize.");
@@ -1500,7 +1506,7 @@ mips_initialize ()
     {
       /* Sometimes PMON ignores the first few characters in the first
          command sent after a load.  Sending a blank command gets
-        around that.  */
+         around that.  */
       mips_send_command ("\r", -1);
 
       /* Ensure the correct target state: */
@@ -1552,26 +1558,26 @@ common_open (ops, name, from_tty, new_monitor, new_monitor_prompt)
 
   if (name == 0)
     error (
-"To open a MIPS remote debugging connection, you need to specify what serial\n\
+           "To open a MIPS remote debugging connection, you need to specify what serial\n\
 device is attached to the target board (e.g., /dev/ttya).\n"
-"If you want to use TFTP to download to the board, specify the name of a\n"
-"temporary file to be used by GDB for downloads as the second argument.\n"
-"This filename must be in the form host:filename, where host is the name\n"
-"of the host running the TFTP server, and the file must be readable by the\n"
-"world.  If the local name of the temporary file differs from the name as\n"
-"seen from the board via TFTP, specify that name as the third parameter.\n");
+           "If you want to use TFTP to download to the board, specify the name of a\n"
+           "temporary file to be used by GDB for downloads as the second argument.\n"
+           "This filename must be in the form host:filename, where host is the name\n"
+           "of the host running the TFTP server, and the file must be readable by the\n"
+           "world.  If the local name of the temporary file differs from the name as\n"
+           "seen from the board via TFTP, specify that name as the third parameter.\n");
 
   /* Parse the serial port name, the optional TFTP name, and the
      optional local TFTP name.  */
   if ((argv = buildargv (name)) == NULL)
-    nomem(0);
+    nomem (0);
   make_cleanup_freeargv (argv);
 
   serial_port_name = strsave (argv[0]);
-  if (argv[1])                         /* remote TFTP name specified? */
+  if (argv[1])                 /* remote TFTP name specified? */
     {
       remote_name = argv[1];
-      if (argv[2])                     /* local TFTP filename specified? */
+      if (argv[2])             /* local TFTP filename specified? */
        local_name = argv[2];
     }
 
@@ -1588,10 +1594,10 @@ device is attached to the target board (e.g., /dev/ttya).\n"
   if (baud_rate != -1)
     {
       if (SERIAL_SETBAUDRATE (mips_desc, baud_rate))
-        {
-          SERIAL_CLOSE (mips_desc);
-          perror_with_name (serial_port_name);
-        }
+       {
+         SERIAL_CLOSE (mips_desc);
+         perror_with_name (serial_port_name);
+       }
     }
 
   SERIAL_RAW (mips_desc);
@@ -1619,8 +1625,8 @@ device is attached to the target board (e.g., /dev/ttya).\n"
          if (tftp_localname)
            free (tftp_localname);
          if (local_name == NULL)
-             if ((local_name = strchr (remote_name, ':')) != NULL)
-               local_name++;           /* skip over the colon */
+           if ((local_name = strchr (remote_name, ':')) != NULL)
+             local_name++;     /* skip over the colon */
          if (local_name == NULL)
            local_name = remote_name;   /* local name same as remote name */
          tftp_name = strsave (remote_name);
@@ -1700,7 +1706,7 @@ lsi_open (name, from_tty)
   /* Clear the LSI breakpoint table.  */
   for (i = 0; i < MAX_LSI_BREAKPOINTS; i++)
     lsi_breakpoints[i].type = BREAK_UNUSED;
-  
+
   common_open (&lsi_ops, name, from_tty, MON_LSI, "PMON> ");
 }
 
@@ -1798,7 +1804,7 @@ mips_wait (pid, status)
   /* If we have not sent a single step or continue command, then the
      board is waiting for us to do something.  Return a status
      indicating that it is stopped.  */
-  if (! mips_need_reply)
+  if (!mips_need_reply)
     {
       status->kind = TARGET_WAITKIND_STOPPED;
       status->value.sig = TARGET_SIGNAL_TRAP;
@@ -1839,7 +1845,7 @@ mips_wait (pid, status)
       supply_register (PC_REGNUM, buf);
 
       store_unsigned_integer (buf, REGISTER_RAW_SIZE (PC_REGNUM), rfp);
-      supply_register (30, buf); /* This register they are avoiding and so it is unnamed */
+      supply_register (30, buf);       /* This register they are avoiding and so it is unnamed */
 
       store_unsigned_integer (buf, REGISTER_RAW_SIZE (SP_REGNUM), rsp);
       supply_register (SP_REGNUM, buf);
@@ -1863,13 +1869,13 @@ mips_wait (pid, status)
     {
 #if 0
       /* If this is an LSI PMON target, see if we just hit a hardrdware watchpoint.
-        Right now, PMON doesn't give us enough information to determine which
-        breakpoint we hit.  So we have to look up the PC in our own table
-        of breakpoints, and if found, assume it's just a normal instruction
-        fetch breakpoint, not a data watchpoint.  FIXME when PMON
-        provides some way to tell us what type of breakpoint it is.  */
+         Right now, PMON doesn't give us enough information to determine which
+         breakpoint we hit.  So we have to look up the PC in our own table
+         of breakpoints, and if found, assume it's just a normal instruction
+         fetch breakpoint, not a data watchpoint.  FIXME when PMON
+         provides some way to tell us what type of breakpoint it is.  */
       int i;
-      CORE_ADDR pc = read_pc();
+      CORE_ADDR pc = read_pc ();
 
       hit_watchpoint = 1;
       for (i = 0; i < MAX_LSI_BREAKPOINTS; i++)
@@ -1883,22 +1889,22 @@ mips_wait (pid, status)
        }
 #else
       /* If a data breakpoint was hit, PMON returns the following packet:
-            0x1 c 0x0 0x57f 0x1
-        The return packet from an ordinary breakpoint doesn't have the
-        extra 0x01 field tacked onto the end.  */
+         0x1 c 0x0 0x57f 0x1
+         The return packet from an ordinary breakpoint doesn't have the
+         extra 0x01 field tacked onto the end.  */
       if (nfields == 1 && rpc == 1)
        hit_watchpoint = 1;
 #endif
     }
 
   /* NOTE: The following (sig) numbers are defined by PMON:
-       SPP_SIGTRAP     5       breakpoint
-        SPP_SIGINT      2
-        SPP_SIGSEGV     11
-        SPP_SIGBUS      10
-        SPP_SIGILL      4
-        SPP_SIGFPE      8
-        SPP_SIGTERM     15 */
+     SPP_SIGTRAP     5       breakpoint
+     SPP_SIGINT      2
+     SPP_SIGSEGV     11
+     SPP_SIGBUS      10
+     SPP_SIGILL      4
+     SPP_SIGFPE      8
+     SPP_SIGTERM     15 */
 
   /* Translate a MIPS waitstatus.  We use constants here rather than WTERMSIG
      and so on, because the constants we want here are determined by the
@@ -1915,12 +1921,12 @@ mips_wait (pid, status)
 
       /* If the stop PC is in the _exit function, assume
          we hit the 'break 0x3ff' instruction in _exit, so this
-        is not a normal breakpoint.  */
+         is not a normal breakpoint.  */
       if (strcmp (target_shortname, "lsi") == 0)
        {
          char *func_name;
          CORE_ADDR func_start;
-         CORE_ADDR pc = read_pc();
+         CORE_ADDR pc = read_pc ();
 
          find_pc_partial_function (pc, &func_name, &func_start, NULL);
          if (func_name != NULL && strcmp (func_name, "_exit") == 0
@@ -2004,11 +2010,11 @@ mips_fetch_registers (regno)
             compiled without the 64bit register access commands. This
             means we cannot get hold of the full register width. */
          if (mips_monitor == MON_DDB)
-           val = (unsigned)mips_request ('t', (unsigned int) pmon_reg,
-                               (unsigned int) 0, &err, mips_receive_wait, NULL);
+           val = (unsigned) mips_request ('t', (unsigned int) pmon_reg,
+                          (unsigned int) 0, &err, mips_receive_wait, NULL);
          else
            val = mips_request ('r', (unsigned int) pmon_reg,
-                               (unsigned int) 0, &err, mips_receive_wait, NULL);
+                          (unsigned int) 0, &err, mips_receive_wait, NULL);
          if (err)
            mips_error ("Can't read register %d: %s", regno,
                        safe_strerror (errno));
@@ -2057,7 +2063,7 @@ mips_store_registers (regno)
 
 /* Fetch a word from the target board.  */
 
-static unsigned int 
+static unsigned int
 mips_fetch_word (addr)
      CORE_ADDR addr;
 {
@@ -2074,8 +2080,8 @@ mips_fetch_word (addr)
       val = mips_request ('i', addr, (unsigned int) 0, &err,
                          mips_receive_wait, NULL);
       if (err)
-        mips_error ("Can't read address 0x%s: %s",
-             paddr_nz (addr), safe_strerror (errno));
+       mips_error ("Can't read address 0x%s: %s",
+                   paddr_nz (addr), safe_strerror (errno));
     }
   return val;
 }
@@ -2128,7 +2134,7 @@ mips_xfer_memory (memaddr, myaddr, len, write, ignore)
 {
   register int i;
   /* Round starting address down to longword boundary.  */
-  register CORE_ADDR addr = memaddr &3;
+  register CORE_ADDR addr = memaddr & ~3;
   /* Round ending address up; get number of longwords that makes.  */
   register int count = (((memaddr + len) - addr) + 3) / 4;
   /* Allocate buffer of that many longwords.  */
@@ -2162,10 +2168,10 @@ mips_xfer_memory (memaddr, myaddr, len, write, ignore)
       for (i = 0; i < count; i++, addr += 4)
        {
          status = mips_store_word (addr,
-                                   extract_unsigned_integer (&buffer[i*4], 4),
+                              extract_unsigned_integer (&buffer[i * 4], 4),
                                    NULL);
          /* Report each kilobyte (we download 32-bit words at a time) */
-         if (i % 256 == 255) 
+         if (i % 256 == 255)
            {
              printf_unfiltered ("*");
              gdb_flush (gdb_stdout);
@@ -2185,7 +2191,7 @@ mips_xfer_memory (memaddr, myaddr, len, write, ignore)
       /* Read all the longwords */
       for (i = 0; i < count; i++, addr += 4)
        {
-         store_unsigned_integer (&buffer[i*4], 4, mips_fetch_word (addr));
+         store_unsigned_integer (&buffer[i * 4], 4, mips_fetch_word (addr));
          QUIT;
        }
 
@@ -2230,7 +2236,7 @@ Give up (and stop debugging it)? "))
             board (it almost surely won't work since we weren't able to talk to
             it).  */
          mips_wait_flag = 0;
-         close_ports();
+         close_ports ();
 
          printf_unfiltered ("Ending remote MIPS debugging.\n");
          target_mourn_inferior ();
@@ -2333,14 +2339,14 @@ mips_remove_breakpoint (addr, contents_cache)
     return memory_remove_breakpoint (addr, contents_cache);
 }
 
-#if 0 /* currently not used */
+#if 0                          /* currently not used */
 /* PMON does not currently provide support for the debug mode 'b'
    commands to manipulate breakpoints. However, if we wanted to use
    the monitor breakpoints (rather than the GDB BREAK_INSN version)
    then this code performs the work needed to leave debug mode,
    set/clear the breakpoint, and then return to debug mode. */
 
-#define PMON_MAX_BP (33) /* 32 SW, 1 HW */
+#define PMON_MAX_BP (33)       /* 32 SW, 1 HW */
 static CORE_ADDR mips_pmon_bp_info[PMON_MAX_BP];
 /* NOTE: The code relies on this vector being zero-initialised by the system */
 
@@ -2353,13 +2359,13 @@ pmon_insert_breakpoint (addr, contents_cache)
 
   if (monitor_supports_breakpoints)
     {
-      char tbuff[12]; /* space for breakpoint command */
+      char tbuff[12];          /* space for breakpoint command */
       int bpnum;
       CORE_ADDR bpaddr;
 
       /* PMON does not support debug level breakpoint set/remove: */
       if (mips_exit_debug ())
-        mips_error ("Failed to exit debug mode");
+       mips_error ("Failed to exit debug mode");
 
       sprintf (tbuff, "b %08x\r", addr);
       mips_send_command (tbuff, 0);
@@ -2367,14 +2373,14 @@ pmon_insert_breakpoint (addr, contents_cache)
       mips_expect ("Bpt ");
 
       if (!mips_getstring (tbuff, 2))
-        return 1;
-      tbuff[2] = '\0'; /* terminate the string */
+       return 1;
+      tbuff[2] = '\0';         /* terminate the string */
       if (sscanf (tbuff, "%d", &bpnum) != 1)
-        {
-          fprintf_unfiltered (gdb_stderr,
-                             "Invalid decimal breakpoint number from target: %s\n", tbuff);
-          return 1;
-        }
+       {
+         fprintf_unfiltered (gdb_stderr,
+             "Invalid decimal breakpoint number from target: %s\n", tbuff);
+         return 1;
+       }
 
       mips_expect (" = ");
 
@@ -2385,26 +2391,26 @@ pmon_insert_breakpoint (addr, contents_cache)
       /* FIXME!! only 8 bytes!  need to expand for Bfd64; 
          which targets return 64-bit addresses?  PMON returns only 32! */
       if (!mips_getstring (&tbuff[2], 8))
-        return 1;
-      tbuff[10] = '\0'; /* terminate the string */
+       return 1;
+      tbuff[10] = '\0';                /* terminate the string */
 
       if (sscanf (tbuff, "0x%08x", &bpaddr) != 1)
-        {
-          fprintf_unfiltered (gdb_stderr,
-                             "Invalid hex address from target: %s\n", tbuff);
-          return 1;
-        }
+       {
+         fprintf_unfiltered (gdb_stderr,
+                           "Invalid hex address from target: %s\n", tbuff);
+         return 1;
+       }
 
       if (bpnum >= PMON_MAX_BP)
-        {
-          fprintf_unfiltered (gdb_stderr,
+       {
+         fprintf_unfiltered (gdb_stderr,
                              "Error: Returned breakpoint number %d outside acceptable range (0..%d)\n",
-                              bpnum, PMON_MAX_BP - 1);
-          return 1;
-        }
+                             bpnum, PMON_MAX_BP - 1);
+         return 1;
+       }
 
       if (bpaddr != addr)
-        fprintf_unfiltered (gdb_stderr, "Warning: Breakpoint addresses do not match: 0x%x != 0x%x\n", addr, bpaddr);
+       fprintf_unfiltered (gdb_stderr, "Warning: Breakpoint addresses do not match: 0x%x != 0x%x\n", addr, bpaddr);
 
       mips_pmon_bp_info[bpnum] = bpaddr;
 
@@ -2427,22 +2433,22 @@ pmon_remove_breakpoint (addr, contents_cache)
   if (monitor_supports_breakpoints)
     {
       int bpnum;
-      char tbuff[7]; /* enough for delete breakpoint command */
+      char tbuff[7];           /* enough for delete breakpoint command */
 
       for (bpnum = 0; bpnum < PMON_MAX_BP; bpnum++)
-        if (mips_pmon_bp_info[bpnum] == addr)
-          break;
+       if (mips_pmon_bp_info[bpnum] == addr)
+         break;
 
       if (bpnum >= PMON_MAX_BP)
-        {
-          fprintf_unfiltered (gdb_stderr,
-           "pmon_remove_breakpoint: Failed to find breakpoint at address 0x%s\n",
-           paddr_nz (addr));
-          return 1;
-        }
+       {
+         fprintf_unfiltered (gdb_stderr,
+                             "pmon_remove_breakpoint: Failed to find breakpoint at address 0x%s\n",
+                             paddr_nz (addr));
+         return 1;
+       }
 
       if (mips_exit_debug ())
-        mips_error ("Failed to exit debug mode");
+       mips_error ("Failed to exit debug mode");
 
       sprintf (tbuff, "db %02d\r", bpnum);
 
@@ -2468,7 +2474,7 @@ int
 remote_mips_can_use_hardware_watchpoint (cnt)
      int cnt;
 {
-    return cnt < MAX_LSI_BREAKPOINTS && strcmp (target_shortname, "lsi") == 0;
+  return cnt < MAX_LSI_BREAKPOINTS && strcmp (target_shortname, "lsi") == 0;
 }
 
 
@@ -2615,14 +2621,14 @@ check_lsi_error (addr, rerrflg)
                {
                  found = 1;
                  fprintf_unfiltered (gdb_stderr,
-                                     "common_breakpoint (0x%s): Warning: %s\n",
+                                 "common_breakpoint (0x%s): Warning: %s\n",
                                      saddr,
                                      err->string);
                }
            }
          if (!found)
            fprintf_unfiltered (gdb_stderr,
-                               "common_breakpoint (0x%s): Unknown warning: 0x%x\n",
+                       "common_breakpoint (0x%s): Unknown warning: 0x%x\n",
                                saddr,
                                rerrflg);
        }
@@ -2655,10 +2661,10 @@ check_lsi_error (addr, rerrflg)
    <ADDR> is the address of the breakpoint.
    <LEN> the length of the region to break on.
    <TYPE> is the type of breakpoint:
-     0 = write                 (BREAK_WRITE)
-     1 = read                  (BREAK_READ)
-     2 = read/write            (BREAK_ACCESS)
-     3 = instruction fetch     (BREAK_FETCH)
+   0 = write                    (BREAK_WRITE)
+   1 = read                     (BREAK_READ)
+   2 = read/write               (BREAK_ACCESS)
+   3 = instruction fetch        (BREAK_FETCH)
 
    Return 0 if successful; otherwise 1.  */
 
@@ -2678,12 +2684,12 @@ common_breakpoint (set, addr, len, type)
 
   if (mips_monitor == MON_LSI)
     {
-      if (set == 0)    /* clear breakpoint */
+      if (set == 0)            /* clear breakpoint */
        {
          /* The LSI PMON "clear breakpoint" has this form:
-              <pid> 'b' <bptn> 0x0
-              reply:
-              <pid> 'b' 0x0 <code>
+            <pid> 'b' <bptn> 0x0
+            reply:
+            <pid> 'b' 0x0 <code>
 
             <bptn> is a breakpoint number returned by an earlier 'B' command.
             Possible return codes: OK, E_BPT.  */
@@ -2718,42 +2724,44 @@ common_breakpoint (set, addr, len, type)
 
          return (check_lsi_error (addr, rerrflg));
        }
-      else     /* set a breakpoint */
+      else
+       /* set a breakpoint */
        {
          /* The LSI PMON "set breakpoint" command has this form:
-              <pid> 'B' <addr> 0x0
-              reply:
-              <pid> 'B' <bptn> <code>
+            <pid> 'B' <addr> 0x0
+            reply:
+            <pid> 'B' <bptn> <code>
 
             The "set data breakpoint" command has this form:
 
-               <pid> 'A' <addr1> <type> [<addr2>  [<value>]]
+            <pid> 'A' <addr1> <type> [<addr2>  [<value>]]
 
-               where: type= "0x1" = read
-                    "0x2" = write
-                    "0x3" = access (read or write)
+            where: type= "0x1" = read
+            "0x2" = write
+            "0x3" = access (read or write)
 
             The reply returns two values:
-                    bptn - a breakpoint number, which is a small integer with
-                           possible values of zero through 255.
-                    code - an error return code, a value of zero indicates a
-                           succesful completion, other values indicate various
-                           errors and warnings.
-             
+            bptn - a breakpoint number, which is a small integer with
+            possible values of zero through 255.
+            code - an error return code, a value of zero indicates a
+            succesful completion, other values indicate various
+            errors and warnings.
+
             Possible return codes: OK, W_QAL, E_QAL, E_OUT, E_NON.  
 
-         */
+          */
 
          if (type == BREAK_FETCH)      /* instruction breakpoint */
            {
              cmd = 'B';
              sprintf (buf, "0x0 B 0x%s 0x0", paddr_nz (addr));
            }
-         else                          /* watchpoint */
+         else
+           /* watchpoint */
            {
              cmd = 'A';
              sprintf (buf, "0x0 A 0x%s 0x%x 0x%s", paddr_nz (addr),
-                      type == BREAK_READ ? 1 : (type == BREAK_WRITE ? 2 : 3),
+                    type == BREAK_READ ? 1 : (type == BREAK_WRITE ? 2 : 3),
                       paddr_nz (addr + len - 1));
            }
          mips_send_packet (buf, 1);
@@ -2774,7 +2782,7 @@ common_breakpoint (set, addr, len, type)
             information for this breakpoint so we can clear it later.  */
          lsi_breakpoints[rresponse].type = type;
          lsi_breakpoints[rresponse].addr = addr;
-         lsi_breakpoints[rresponse].len =  len;
+         lsi_breakpoints[rresponse].len = len;
 
          return 0;
        }
@@ -2782,30 +2790,30 @@ common_breakpoint (set, addr, len, type)
   else
     {
       /* On non-LSI targets, the breakpoint command has this form:
-          0x0 <CMD> <ADDR> <MASK> <FLAGS>
-        <MASK> is a don't care mask for addresses.
-        <FLAGS> is any combination of `r', `w', or `f' for read/write/fetch.
+         0x0 <CMD> <ADDR> <MASK> <FLAGS>
+         <MASK> is a don't care mask for addresses.
+         <FLAGS> is any combination of `r', `w', or `f' for read/write/fetch.
        */
       unsigned long mask;
 
       mask = calculate_mask (addr, len);
       addr &= ~mask;
 
-      if (set)         /* set a breakpoint */
-        {
+      if (set)                 /* set a breakpoint */
+       {
          char *flags;
          switch (type)
            {
-           case BREAK_WRITE:           /* write */
+           case BREAK_WRITE:   /* write */
              flags = "w";
              break;
-           case BREAK_READ:            /* read */
+           case BREAK_READ:    /* read */
              flags = "r";
              break;
-           case BREAK_ACCESS:          /* read/write */
+           case BREAK_ACCESS:  /* read/write */
              flags = "rw";
              break;
-           case BREAK_FETCH:           /* fetch */
+           case BREAK_FETCH:   /* fetch */
              flags = "f";
              break;
            default:
@@ -2840,9 +2848,9 @@ common_breakpoint (set, addr, len, type)
             Cogent returns "0x0 b 0xffffffff 0x16\000": */
          if (mips_monitor == MON_DDB)
            rresponse = rerrflg;
-         if (rresponse != 22) /* invalid argument */
+         if (rresponse != 22)  /* invalid argument */
            fprintf_unfiltered (gdb_stderr,
-                               "common_breakpoint (0x%s):  Got error: 0x%x\n",
+                            "common_breakpoint (0x%s):  Got error: 0x%x\n",
                                paddr_nz (addr), rresponse);
          return 1;
        }
@@ -2938,14 +2946,14 @@ mips_load_srec (args)
                  gdb_flush (gdb_stdout);
                }
 
-           } /* Per-packet (or S-record) loop */
-         
+           }                   /* Per-packet (or S-record) loop */
+
          putchar_unfiltered ('\n');
-       } /* Loadable sections */
+       }                       /* Loadable sections */
     }
-  if (hashmark) 
+  if (hashmark)
     putchar_unfiltered ('\n');
-  
+
   /* Write a type 7 terminator record. no data for a type 7, and there
      is no data, so len is 0.  */
 
@@ -2958,19 +2966,19 @@ mips_load_srec (args)
 
 /*
  * mips_make_srec -- make an srecord. This writes each line, one at a
- *     time, each with it's own header and trailer line.
- *     An srecord looks like this:
+ *      time, each with it's own header and trailer line.
+ *      An srecord looks like this:
  *
  * byte count-+     address
  * start ---+ |        |       data        +- checksum
- *         | |        |                   |
- *       S01000006F6B692D746573742E73726563E4
- *       S315000448600000000000000000FC00005900000000E9
- *       S31A0004000023C1400037DE00F023604000377B009020825000348D
- *       S30B0004485A0000000000004E
- *       S70500040000F6
+ *          | |        |                   |
+ *        S01000006F6B692D746573742E73726563E4
+ *        S315000448600000000000000000FC00005900000000E9
+ *        S31A0004000023C1400037DE00F023604000377B009020825000348D
+ *        S30B0004485A0000000000004E
+ *        S70500040000F6
  *
- *     S<type><length><address><data><checksum>
+ *      S<type><length><address><data><checksum>
  *
  *      Where
  *      - length
@@ -2993,7 +3001,7 @@ mips_load_srec (args)
  *      - data
  *        is the data.
  *      - checksum
- *       is the sum of all the raw byte data in the record, from the length
+ *        is the sum of all the raw byte data in the record, from the length
  *        upwards, modulo 256 and subtracted from 255.
  *
  * This routine returns the length of the S-record.
@@ -3049,13 +3057,13 @@ mips_make_srec (buf, type, memaddr, myaddr, len)
    3byte data packets (encoded as 4 printable ASCII characters), and
    escape sequences (preceded by a '/'):
 
-       'K'     clear checksum
-       'C'     compare checksum (12bit value, not included in checksum calculation)
-       'S'     define symbol name (for addr) terminated with "," and padded to 4char boundary
-       'Z'     zero fill multiple of 3bytes
-       'B'     byte (12bit encoded value, of 8bit data)
-       'A'     address (36bit encoded value)
-       'E'     define entry as original address, and exit load
+   'K'     clear checksum
+   'C'     compare checksum (12bit value, not included in checksum calculation)
+   'S'     define symbol name (for addr) terminated with "," and padded to 4char boundary
+   'Z'     zero fill multiple of 3bytes
+   'B'     byte (12bit encoded value, of 8bit data)
+   'A'     address (36bit encoded value)
+   'E'     define entry as original address, and exit load
 
    The packets are processed in 4 character chunks, so the escape
    sequences that do not have any data (or variable length data)
@@ -3081,32 +3089,41 @@ pmon_makeb64 (v, p, n, chksum)
 {
   int count = (n / 6);
 
-  if ((n % 12) != 0) {
-    fprintf_unfiltered(gdb_stderr,
-                      "Fast encoding bitcount must be a multiple of 12bits: %dbit%s\n",n,(n == 1)?"":"s");
-    return(0);
-  }
-  if (n > 36) {
-    fprintf_unfiltered(gdb_stderr,
-                      "Fast encoding cannot process more than 36bits at the moment: %dbits\n",n);
-    return(0);
-  }
+  if ((n % 12) != 0)
+    {
+      fprintf_unfiltered (gdb_stderr,
+                         "Fast encoding bitcount must be a multiple of 12bits: %dbit%s\n", n, (n == 1) ? "" : "s");
+      return (0);
+    }
+  if (n > 36)
+    {
+      fprintf_unfiltered (gdb_stderr,
+                         "Fast encoding cannot process more than 36bits at the moment: %dbits\n", n);
+      return (0);
+    }
 
   /* Deal with the checksum: */
-  if (chksum != NULL) {
-    switch (n) {
-     case 36: *chksum += ((v >> 24) & 0xFFF);
-     case 24: *chksum += ((v >> 12) & 0xFFF);
-     case 12: *chksum += ((v >>  0) & 0xFFF);
+  if (chksum != NULL)
+    {
+      switch (n)
+       {
+       case 36:
+         *chksum += ((v >> 24) & 0xFFF);
+       case 24:
+         *chksum += ((v >> 12) & 0xFFF);
+       case 12:
+         *chksum += ((v >> 0) & 0xFFF);
+       }
     }
-  }
 
-  do {
-    n -= 6;
-    *p++ = encoding[(v >> n) & 0x3F];
-  } while (n > 0);
+  do
+    {
+      n -= 6;
+      *p++ = encoding[(v >> n) & 0x3F];
+    }
+  while (n > 0);
 
-  return(count);
+  return (count);
 }
 
 /* Shorthand function (that could be in-lined) to output the zero-fill
@@ -3120,11 +3137,11 @@ pmon_zeroset (recsize, buff, amount, chksum)
 {
   int count;
 
-  sprintf(*buff,"/Z");
+  sprintf (*buff, "/Z");
   count = pmon_makeb64 (*amount, (*buff + 2), 12, chksum);
   *buff += (count + 2);
   *amount = 0;
-  return(recsize + count + 2);
+  return (recsize + count + 2);
 }
 
 static int
@@ -3140,10 +3157,10 @@ pmon_checkset (recsize, buff, value)
   count = pmon_makeb64 (*value, (*buff + 2), 12, NULL);
   *buff += (count + 2);
   sprintf (*buff, "\n");
-  *buff += 2; /* include zero terminator */
+  *buff += 2;                  /* include zero terminator */
   /* Forcing a checksum validation clears the sum: */
   *value = 0;
-  return(recsize + count + 3);
+  return (recsize + count + 3);
 }
 
 /* Amount of padding we leave after at the end of the output buffer,
@@ -3177,46 +3194,53 @@ pmon_make_fastrec (outbuf, inbuf, inptr, inamount, recsize, csum, zerofill)
      the maximum allowable record size. Each record output is 4bytes
      in length. We must allow space for a pending zero fill command,
      the record, and a checksum record. */
-  while ((*recsize < (MAXRECSIZE - CHECKSIZE)) && ((inamount - *inptr) > 0)) {
-    /* Process the binary data: */
-    if ((inamount - *inptr) < 3) {
-      if (*zerofill != 0)
-       *recsize = pmon_zeroset (*recsize, &p, zerofill, csum);
-      sprintf (p, "/B");
-      count = pmon_makeb64 (inbuf[*inptr], &p[2], 12, csum);
-      p += (2 + count);
-      *recsize += (2 + count);
-      (*inptr)++;
-    } else {
-      unsigned int value = ((inbuf[*inptr + 0] << 16) | (inbuf[*inptr + 1] << 8) | inbuf[*inptr + 2]);
-      /* Simple check for zero data. TODO: A better check would be
-         to check the last, and then the middle byte for being zero
-         (if the first byte is not). We could then check for
-         following runs of zeros, and if above a certain size it is
-         worth the 4 or 8 character hit of the byte insertions used
-         to pad to the start of the zeroes. NOTE: This also depends
-         on the alignment at the end of the zero run. */
-      if (value == 0x00000000) {
-        (*zerofill)++;
-        if (*zerofill == 0xFFF) /* 12bit counter */
-         *recsize = pmon_zeroset (*recsize, &p, zerofill, csum);
-      }else {
-        if (*zerofill != 0)
-         *recsize = pmon_zeroset (*recsize, &p, zerofill, csum);
-        count = pmon_makeb64 (value, p, 24, csum);
-        p += count;
-        *recsize += count;
-      }
-      *inptr += 3;
+  while ((*recsize < (MAXRECSIZE - CHECKSIZE)) && ((inamount - *inptr) > 0))
+    {
+      /* Process the binary data: */
+      if ((inamount - *inptr) < 3)
+       {
+         if (*zerofill != 0)
+           *recsize = pmon_zeroset (*recsize, &p, zerofill, csum);
+         sprintf (p, "/B");
+         count = pmon_makeb64 (inbuf[*inptr], &p[2], 12, csum);
+         p += (2 + count);
+         *recsize += (2 + count);
+         (*inptr)++;
+       }
+      else
+       {
+         unsigned int value = ((inbuf[*inptr + 0] << 16) | (inbuf[*inptr + 1] << 8) | inbuf[*inptr + 2]);
+         /* Simple check for zero data. TODO: A better check would be
+            to check the last, and then the middle byte for being zero
+            (if the first byte is not). We could then check for
+            following runs of zeros, and if above a certain size it is
+            worth the 4 or 8 character hit of the byte insertions used
+            to pad to the start of the zeroes. NOTE: This also depends
+            on the alignment at the end of the zero run. */
+         if (value == 0x00000000)
+           {
+             (*zerofill)++;
+             if (*zerofill == 0xFFF)   /* 12bit counter */
+               *recsize = pmon_zeroset (*recsize, &p, zerofill, csum);
+           }
+         else
+           {
+             if (*zerofill != 0)
+               *recsize = pmon_zeroset (*recsize, &p, zerofill, csum);
+             count = pmon_makeb64 (value, p, 24, csum);
+             p += count;
+             *recsize += count;
+           }
+         *inptr += 3;
+       }
     }
-  }
 
   *outbuf = p;
   return;
 }
 
 static int
-pmon_check_ack(mesg)
+pmon_check_ack (mesg)
      char *mesg;
 {
 #if defined(DOETXACK)
@@ -3229,11 +3253,11 @@ pmon_check_ack(mesg)
        {
          fprintf_unfiltered (gdb_stderr,
                              "Failed to receive valid ACK for %s\n", mesg);
-         return(-1); /* terminate the download */
+         return (-1);          /* terminate the download */
        }
     }
 #endif /* DOETXACK */
-  return(0);
+  return (0);
 }
 
 /* pmon_download - Send a sequence of characters to the PMON download port,
@@ -3276,7 +3300,7 @@ pmon_end_download (final, bintotal)
      int final;
      int bintotal;
 {
-  char hexnumber[9]; /* includes '\0' space */
+  char hexnumber[9];           /* includes '\0' space */
 
   if (tftp_in_use)
     {
@@ -3321,13 +3345,13 @@ pmon_end_download (final, bintotal)
   else
     mips_expect_timeout ("Entry Address  = ", tftp_in_use ? 15 : 2);
 
-  sprintf (hexnumber,"%x",final);
+  sprintf (hexnumber, "%x", final);
   mips_expect (hexnumber);
   mips_expect ("\r\n");
   if (mips_monitor != MON_LSI)
     pmon_check_ack ("termination");
   mips_expect ("\r\ntotal = 0x");
-  sprintf (hexnumber,"%x",bintotal);
+  sprintf (hexnumber, "%x", bintotal);
   mips_expect (hexnumber);
   if (!mips_expect_download (" bytes\r\n"))
     return;
@@ -3362,21 +3386,21 @@ pmon_load_fast (file)
   int final = 0;
   int finished = 0;
 
-  buffer = (char *)xmalloc(MAXRECSIZE + 1);
-  binbuf = (unsigned char *)xmalloc(BINCHUNK);
+  buffer = (char *) xmalloc (MAXRECSIZE + 1);
+  binbuf = (unsigned char *) xmalloc (BINCHUNK);
 
-  abfd = bfd_openr(file,0);
+  abfd = bfd_openr (file, 0);
   if (!abfd)
-   {
-     printf_filtered ("Unable to open file %s\n",file);
-     return;
-   }
+    {
+      printf_filtered ("Unable to open file %s\n", file);
+      return;
+    }
 
-  if (bfd_check_format(abfd,bfd_object) == 0)
-   {
-     printf_filtered("File is not an object file\n");
-     return;
-   }
+  if (bfd_check_format (abfd, bfd_object) == 0)
+    {
+      printf_filtered ("File is not an object file\n");
+      return;
+    }
 
   /* Setup the required download state: */
   mips_send_command ("set dlproto etxack\r", -1);
@@ -3385,101 +3409,110 @@ pmon_load_fast (file)
      already defined to have the argument we give. The code doesn't
      care, since it just scans to the next prompt anyway. */
   /* Start the download: */
-  pmon_start_download();
-  
+  pmon_start_download ();
+
   /* Zero the checksum */
-  sprintf(buffer,"/Kxx\n");
-  reclen = strlen(buffer);
+  sprintf (buffer, "/Kxx\n");
+  reclen = strlen (buffer);
   pmon_download (buffer, reclen);
-  finished = pmon_check_ack("/Kxx");
+  finished = pmon_check_ack ("/Kxx");
 
   for (s = abfd->sections; s && !finished; s = s->next)
-   if (s->flags & SEC_LOAD) /* only deal with loadable sections */
-    {
-      bintotal += s->_raw_size;
-      final = (s->vma + s->_raw_size);
-
-      printf_filtered ("%s\t: 0x%4x .. 0x%4x  ", s->name, (unsigned int)s->vma,
-                       (unsigned int)(s->vma + s->_raw_size));
-      gdb_flush (gdb_stdout);
-
-      /* Output the starting address */
-      sprintf(buffer,"/A");
-      reclen = pmon_makeb64(s->vma,&buffer[2],36,&csum);
-      buffer[2 + reclen] = '\n';
-      buffer[3 + reclen] = '\0';
-      reclen += 3; /* for the initial escape code and carriage return */
-      pmon_download (buffer, reclen);
-      finished = pmon_check_ack("/A");
-
-      if (!finished)
-       {
-         unsigned int binamount;
-         unsigned int zerofill = 0;
-         char *bp = buffer;
-         unsigned int i;
-
-         reclen = 0;
-
-         for (i = 0; ((i < s->_raw_size) && !finished); i += binamount) {
-           int binptr = 0;
-
-           binamount = min (BINCHUNK, s->_raw_size - i);
-
-           bfd_get_section_contents (abfd, s, binbuf, i, binamount);
-
-           /* This keeps a rolling checksum, until we decide to output
-              the line: */
-           for (; ((binamount - binptr) > 0);) {
-             pmon_make_fastrec (&bp, binbuf, &binptr, binamount, &reclen, &csum, &zerofill);
-             if (reclen >= (MAXRECSIZE - CHECKSIZE)) {
-               reclen = pmon_checkset (reclen, &bp, &csum);
-               pmon_download (buffer, reclen);
-               finished = pmon_check_ack("data record");
-               if (finished) {
-                 zerofill = 0; /* do not transmit pending zerofills */
-                 break;
-               }
-
-               if (hashmark) {
-                 putchar_unfiltered ('#');
-                 gdb_flush (gdb_stdout);
-               }
-
-               bp = buffer;
-               reclen = 0; /* buffer processed */
-             }
-           }
-         }
-
-         /* Ensure no out-standing zerofill requests: */
-         if (zerofill != 0)
-          reclen = pmon_zeroset (reclen, &bp, &zerofill, &csum);
-
-         /* and then flush the line: */
-         if (reclen > 0) {
-           reclen = pmon_checkset (reclen, &bp, &csum);
-           /* Currently pmon_checkset outputs the line terminator by
-              default, so we write out the buffer so far: */
-           pmon_download (buffer, reclen);
-           finished = pmon_check_ack("record remnant");
-         }
-       }
-
-      putchar_unfiltered ('\n');
-    }
+    if (s->flags & SEC_LOAD)   /* only deal with loadable sections */
+      {
+       bintotal += s->_raw_size;
+       final = (s->vma + s->_raw_size);
+
+       printf_filtered ("%s\t: 0x%4x .. 0x%4x  ", s->name, (unsigned int) s->vma,
+                        (unsigned int) (s->vma + s->_raw_size));
+       gdb_flush (gdb_stdout);
+
+       /* Output the starting address */
+       sprintf (buffer, "/A");
+       reclen = pmon_makeb64 (s->vma, &buffer[2], 36, &csum);
+       buffer[2 + reclen] = '\n';
+       buffer[3 + reclen] = '\0';
+       reclen += 3;            /* for the initial escape code and carriage return */
+       pmon_download (buffer, reclen);
+       finished = pmon_check_ack ("/A");
+
+       if (!finished)
+         {
+           unsigned int binamount;
+           unsigned int zerofill = 0;
+           char *bp = buffer;
+           unsigned int i;
+
+           reclen = 0;
+
+           for (i = 0; ((i < s->_raw_size) && !finished); i += binamount)
+             {
+               int binptr = 0;
+
+               binamount = min (BINCHUNK, s->_raw_size - i);
+
+               bfd_get_section_contents (abfd, s, binbuf, i, binamount);
+
+               /* This keeps a rolling checksum, until we decide to output
+                  the line: */
+               for (; ((binamount - binptr) > 0);)
+                 {
+                   pmon_make_fastrec (&bp, binbuf, &binptr, binamount, &reclen, &csum, &zerofill);
+                   if (reclen >= (MAXRECSIZE - CHECKSIZE))
+                     {
+                       reclen = pmon_checkset (reclen, &bp, &csum);
+                       pmon_download (buffer, reclen);
+                       finished = pmon_check_ack ("data record");
+                       if (finished)
+                         {
+                           zerofill = 0;       /* do not transmit pending zerofills */
+                           break;
+                         }
+
+                       if (hashmark)
+                         {
+                           putchar_unfiltered ('#');
+                           gdb_flush (gdb_stdout);
+                         }
+
+                       bp = buffer;
+                       reclen = 0;     /* buffer processed */
+                     }
+                 }
+             }
+
+           /* Ensure no out-standing zerofill requests: */
+           if (zerofill != 0)
+             reclen = pmon_zeroset (reclen, &bp, &zerofill, &csum);
+
+           /* and then flush the line: */
+           if (reclen > 0)
+             {
+               reclen = pmon_checkset (reclen, &bp, &csum);
+               /* Currently pmon_checkset outputs the line terminator by
+                  default, so we write out the buffer so far: */
+               pmon_download (buffer, reclen);
+               finished = pmon_check_ack ("record remnant");
+             }
+         }
+
+       putchar_unfiltered ('\n');
+      }
 
   /* Terminate the transfer. We know that we have an empty output
      buffer at this point. */
-  sprintf (buffer, "/E/E\n"); /* include dummy padding characters */
+  sprintf (buffer, "/E/E\n");  /* include dummy padding characters */
   reclen = strlen (buffer);
   pmon_download (buffer, reclen);
 
-  if (finished) { /* Ignore the termination message: */
-    SERIAL_FLUSH_INPUT (udp_in_use ? udp_desc : mips_desc);
-  } else { /* Deal with termination message: */
-    pmon_end_download (final, bintotal);
-  }
+  if (finished)
+    {                          /* Ignore the termination message: */
+      SERIAL_FLUSH_INPUT (udp_in_use ? udp_desc : mips_desc);
+    }
+  else
+    {                          /* Deal with termination message: */
+      pmon_end_download (final, bintotal);
+    }
 
   return;
 }
@@ -3488,17 +3521,17 @@ pmon_load_fast (file)
 
 static void
 mips_load (file, from_tty)
-    char *file;
-    int  from_tty;
+     char *file;
+     int from_tty;
 {
   /* Get the board out of remote debugging mode.  */
   if (mips_exit_debug ())
     error ("mips_load:  Couldn't get into monitor mode.");
 
   if (mips_monitor != MON_IDT)
-   pmon_load_fast (file);
+    pmon_load_fast (file);
   else
-   mips_load_srec (file);
+    mips_load_srec (file);
 
   mips_initialize ();
 
@@ -3506,8 +3539,8 @@ mips_load (file, from_tty)
   if (mips_monitor != MON_IDT)
     {
       /* Work around problem where PMON monitor updates the PC after a load
-        to a different value than GDB thinks it has. The following ensures
-        that the write_pc() WILL update the PC value: */
+         to a different value than GDB thinks it has. The following ensures
+         that the write_pc() WILL update the PC value: */
       register_valid[PC_REGNUM] = 0;
     }
   if (exec_bfd)
@@ -3584,7 +3617,7 @@ HOST:PORT to access a board over a network";
   mips_ops.to_wait = mips_wait;
 
   pmon_ops.to_shortname = "pmon";
-  pmon_ops.to_doc =   "\
+  pmon_ops.to_doc = "\
 Debug a board using the PMON MIPS remote debugging protocol over a serial\n\
 line. The argument is the device it is connected to or, if it contains a\n\
 colon, HOST:PORT to access a board over a network";
@@ -3614,29 +3647,29 @@ of the TFTP temporary file, if it differs from the filename seen by the board.";
   add_target (&lsi_ops);
 
   add_show_from_set (
-    add_set_cmd ("timeout", no_class, var_zinteger,
-                (char *) &mips_receive_wait,
-                "Set timeout in seconds for remote MIPS serial I/O.",
-                &setlist),
-       &showlist);
+                     add_set_cmd ("timeout", no_class, var_zinteger,
+                                  (char *) &mips_receive_wait,
+                      "Set timeout in seconds for remote MIPS serial I/O.",
+                                  &setlist),
+                     &showlist);
 
   add_show_from_set (
-    add_set_cmd ("retransmit-timeout", no_class, var_zinteger,
-                (char *) &mips_retransmit_wait,
-        "Set retransmit timeout in seconds for remote MIPS serial I/O.\n\
+                 add_set_cmd ("retransmit-timeout", no_class, var_zinteger,
+                              (char *) &mips_retransmit_wait,
+                              "Set retransmit timeout in seconds for remote MIPS serial I/O.\n\
 This is the number of seconds to wait for an acknowledgement to a packet\n\
 before resending the packet.", &setlist),
-       &showlist);
+                     &showlist);
 
   add_show_from_set (
-    add_set_cmd ("syn-garbage-limit", no_class, var_zinteger,
-                (char *) &mips_syn_garbage,
-"Set the maximum number of characters to ignore when scanning for a SYN.\n\
+                  add_set_cmd ("syn-garbage-limit", no_class, var_zinteger,
+                               (char *) &mips_syn_garbage,
+                               "Set the maximum number of characters to ignore when scanning for a SYN.\n\
 This is the maximum number of characters GDB will ignore when trying to\n\
 synchronize with the remote system.  A value of -1 means that there is no limit\n\
 (Note that these characters are printed out even though they are ignored.)",
-                &setlist),
-                    &showlist);
+                               &setlist),
+                     &showlist);
 
   add_show_from_set
     (add_set_cmd ("monitor-prompt", class_obscure, var_string,
@@ -3646,14 +3679,14 @@ synchronize with the remote system.  A value of -1 means that there is no limit\
      &showlist);
 
   add_show_from_set (
-    add_set_cmd ("monitor-warnings", class_obscure, var_zinteger,
-                (char *)&monitor_warnings,
-                "Set printing of monitor warnings.\n"
-                "When enabled, monitor warnings about hardware breakpoints "
-                "will be displayed.",
-                &setlist),
-                    &showlist);
+              add_set_cmd ("monitor-warnings", class_obscure, var_zinteger,
+                           (char *) &monitor_warnings,
+                           "Set printing of monitor warnings.\n"
+               "When enabled, monitor warnings about hardware breakpoints "
+                           "will be displayed.",
+                           &setlist),
+                     &showlist);
 
   add_com ("pmon <command>", class_obscure, pmon_command,
-          "Send a packet to PMON (must be in debug mode)."); 
+          "Send a packet to PMON (must be in debug mode).");
 }