Add self to MAINTAINERS.
[deliverable/binutils-gdb.git] / gdb / sh3-rom.c
index 3fd1e68bb07484e1bead295804c9b5f96ce595dc..f450ac9d5fcb0cd1f25dadfe1477603e5fe195a5 100644 (file)
@@ -1,5 +1,6 @@
 /* Remote target glue for the Hitachi SH-3 ROM monitor.
-   Copyright 1995, 1996 Free Software Foundation, Inc.
+   Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #include "monitor.h"
 #include "serial.h"
 #include "srec.h"
+#include "arch-utils.h"
+#include "regcache.h"
 
-static serial_t parallel;
+#include "sh-tdep.h"
+
+static struct serial *parallel;
 static int parallel_in_use;
 
-static void sh3_open PARAMS ((char *args, int from_tty));
+static void sh3_open (char *args, int from_tty);
 
 static void
-sh3_supply_register (regname, regnamelen, val, vallen)
-     char *regname;
-     int regnamelen;
-     char *val;
-     int vallen;
+sh3_supply_register (char *regname, int regnamelen, char *val, int vallen)
 {
   int numregs;
   int regno;
@@ -75,9 +76,9 @@ sh3_supply_register (regname, regnamelen, val, vallen)
          break;
        case 'S':
          if (regname[1] == 'S' && regname[2] == 'R')
-           regno = SSR_REGNUM;
+           regno = gdbarch_tdep (current_gdbarch)->SSR_REGNUM;
          else if (regname[1] == 'P' && regname[2] == 'C')
-           regno = SPC_REGNUM;
+           regno = gdbarch_tdep (current_gdbarch)->SPC_REGNUM;
          break;
        }
     }
@@ -121,10 +122,7 @@ sh3_supply_register (regname, regnamelen, val, vallen)
 }
 
 static void
-sh3_load (desc, file, hashmark)
-     serial_t desc;
-     char *file;
-     int hashmark;
+sh3_load (struct serial *desc, char *file, int hashmark)
 {
   if (parallel_in_use)
     {
@@ -136,13 +134,13 @@ sh3_load (desc, file, hashmark)
     {
       monitor_printf ("il;s:x\r");
       monitor_expect ("\005", NULL, 0);                /* Look for ENQ */
-      SERIAL_WRITE (desc, "\006", 1);  /* Send ACK */
+      serial_write (desc, "\006", 1);  /* Send ACK */
       monitor_expect ("LO x\r", NULL, 0);      /* Look for filename */
 
       load_srec (desc, file, 0, 80, SREC_ALL, hashmark, NULL);
 
       monitor_expect ("\005", NULL, 0);                /* Look for ENQ */
-      SERIAL_WRITE (desc, "\006", 1);  /* Send ACK */
+      serial_write (desc, "\006", 1);  /* Send ACK */
       monitor_expect_prompt (NULL, 0);
     }
 }
@@ -152,7 +150,7 @@ sh3_load (desc, file, hashmark)
    than does GDB, and don't necessarily support all the registers
    either. So, typing "info reg sp" becomes a "r30".  */
 
-static char *sh3_regnames[NUM_REGS] =
+static char *sh3_regnames[] =
 {
   "R0", "R1", "R2", "R3", "R4", "R5", "R6", "R7",
   "R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15",
@@ -167,7 +165,7 @@ static char *sh3_regnames[NUM_REGS] =
   "R4_BANK1", "R5_BANK1", "R6_BANK1", "R7_BANK1"
 };
 
-static char *sh3e_regnames[NUM_REGS] =
+static char *sh3e_regnames[] =
 {
   "R0", "R1", "R2", "R3", "R4", "R5", "R6", "R7",
   "R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15",
@@ -248,16 +246,14 @@ init_sh3_cmds (void)
 static struct monitor_ops sh3e_cmds;
 
 static void
-sh3_open (args, from_tty)
-     char *args;
-     int from_tty;
+sh3_open (char *args, int from_tty)
 {
   char *serial_port_name = args;
   char *parallel_port_name = 0;
 
   if (args)
     {
-      char *cursor = serial_port_name = strsave (args);
+      char *cursor = serial_port_name = xstrdup (args);
 
       while (*cursor && *cursor != ' ')
        cursor++;
@@ -276,7 +272,7 @@ sh3_open (args, from_tty)
 
   if (parallel_port_name)
     {
-      parallel = SERIAL_OPEN (parallel_port_name);
+      parallel = serial_open (parallel_port_name);
 
       if (!parallel)
        perror_with_name ("Unable to open parallel port.");
@@ -290,16 +286,14 @@ sh3_open (args, from_tty)
 
 
 static void
-sh3e_open (args, from_tty)
-     char *args;
-     int from_tty;
+sh3e_open (char *args, int from_tty)
 {
   char *serial_port_name = args;
   char *parallel_port_name = 0;
 
   if (args)
     {
-      char *cursor = serial_port_name = strsave (args);
+      char *cursor = serial_port_name = xstrdup (args);
 
       while (*cursor && *cursor != ' ')
        cursor++;
@@ -325,7 +319,7 @@ sh3e_open (args, from_tty)
 
   if (parallel_port_name)
     {
-      parallel = SERIAL_OPEN (parallel_port_name);
+      parallel = serial_open (parallel_port_name);
 
       if (!parallel)
        perror_with_name ("Unable to open parallel port.");
@@ -338,19 +332,18 @@ sh3e_open (args, from_tty)
 }
 
 static void
-sh3_close (quitting)
-     int quitting;
+sh3_close (int quitting)
 {
   monitor_close (quitting);
   if (parallel_in_use)
     {
-      SERIAL_CLOSE (parallel);
+      serial_close (parallel);
       parallel_in_use = 0;
     }
 }
 
 void
-_initialize_sh3_rom ()
+_initialize_sh3_rom (void)
 {
   init_sh3_cmds ();
   init_monitor_ops (&sh3_ops);
@@ -359,16 +352,11 @@ _initialize_sh3_rom ()
   sh3_ops.to_longname = "Hitachi SH-3 rom monitor";
 
   sh3_ops.to_doc =
-#ifdef _WINDOWS
-  /* On windows we can talk through the parallel port too. */
-    "Debug on a Hitachi eval board running the SH-3 rom monitor.\n"
-    "Specify the serial device it is connected to (e.g. com2).\n"
+  /* We can download through the parallel port too. */
+    "Debug on a Hitachi eval board running the SH-3E rom monitor.\n"
+    "Specify the serial device it is connected to.\n"
     "If you want to use the parallel port to download to it, specify that\n"
-    "as the second argument. (e.g. lpt1)";
-#else
-    "Debug on a Hitachi eval board running the SH-3 rom monitor.\n\
-Specify the serial device it is connected to (e.g. /dev/ttya).";
-#endif
+    "as an additional second argument.";
 
   sh3_ops.to_open = sh3_open;
   sh3_ops.to_close = sh3_close;
@@ -383,16 +371,11 @@ Specify the serial device it is connected to (e.g. /dev/ttya).";
   sh3e_ops.to_longname = "Hitachi SH-3E rom monitor";
 
   sh3e_ops.to_doc =
-#ifdef _WINDOWS
-  /* On windows we can talk through the parallel port too. */
+  /* We can download through the parallel port too. */
     "Debug on a Hitachi eval board running the SH-3E rom monitor.\n"
-    "Specify the serial device it is connected to (e.g. com2).\n"
+    "Specify the serial device it is connected to.\n"
     "If you want to use the parallel port to download to it, specify that\n"
-    "as the second argument. (e.g. lpt1)";
-#else
-    "Debug on a Hitachi eval board running the SH-3E rom monitor.\n\
-Specify the serial device it is connected to (e.g. /dev/ttya).";
-#endif
+    "as an additional second argument.";
 
   sh3e_ops.to_open = sh3e_open;
   sh3e_ops.to_close = sh3_close;
This page took 0.049974 seconds and 4 git commands to generate.