OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.0/] [gdb/] [config/] [i960/] [tm-nindy960.h] - Diff between revs 107 and 1765

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 107 Rev 1765
/* Parameters for Intel 960 running NINDY monitor, for GDB, the GNU debugger.
/* Parameters for Intel 960 running NINDY monitor, for GDB, the GNU debugger.
   Copyright (C) 1990-1991 Free Software Foundation, Inc.
   Copyright (C) 1990-1991 Free Software Foundation, Inc.
   Contributed by Intel Corporation and Cygnus Support.
   Contributed by Intel Corporation and Cygnus Support.
 
 
   This file is part of GDB.
   This file is part of GDB.
 
 
   This program is free software; you can redistribute it and/or modify
   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
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.
   (at your option) any later version.
 
 
   This program is distributed in the hope that it will be useful,
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   GNU General Public License for more details.
 
 
   You should have received a copy of the GNU General Public License
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330,
   Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */
   Boston, MA 02111-1307, USA.  */
 
 
/*****************************************************************************
/*****************************************************************************
 * Definitions to target GDB to an i960 debugged over a serial line.
 * Definitions to target GDB to an i960 debugged over a serial line.
 ******************************************************************************/
 ******************************************************************************/
 
 
#include "i960/tm-i960.h"
#include "i960/tm-i960.h"
 
 
/* forward declarations */
/* forward declarations */
struct frame_info;
struct frame_info;
 
 
/* Override the standard gdb prompt when compiled for this target.  */
/* Override the standard gdb prompt when compiled for this target.  */
 
 
#define DEFAULT_PROMPT  "(gdb960) "
#define DEFAULT_PROMPT  "(gdb960) "
 
 
/* Additional command line options accepted by nindy gdb's, for handling
/* Additional command line options accepted by nindy gdb's, for handling
   the remote-nindy.c interface.  These should really be target-specific
   the remote-nindy.c interface.  These should really be target-specific
   rather than architecture-specific.  */
   rather than architecture-specific.  */
 
 
extern int nindy_old_protocol;  /* nonzero if old NINDY serial protocol */
extern int nindy_old_protocol;  /* nonzero if old NINDY serial protocol */
extern int nindy_initial_brk;   /* Send a BREAK to reset board first */
extern int nindy_initial_brk;   /* Send a BREAK to reset board first */
extern char *nindy_ttyname;     /* Name of serial port to talk to nindy */
extern char *nindy_ttyname;     /* Name of serial port to talk to nindy */
 
 
#define ADDITIONAL_OPTIONS \
#define ADDITIONAL_OPTIONS \
        {"O", no_argument, &nindy_old_protocol, 1},     \
        {"O", no_argument, &nindy_old_protocol, 1},     \
        {"brk", no_argument, &nindy_initial_brk, 1},    \
        {"brk", no_argument, &nindy_initial_brk, 1},    \
        {"ser", required_argument, 0, 1004},     /* 1004 is magic cookie for ADDL_CASES */
        {"ser", required_argument, 0, 1004},     /* 1004 is magic cookie for ADDL_CASES */
 
 
#define ADDITIONAL_OPTION_CASES \
#define ADDITIONAL_OPTION_CASES \
        case 1004:      /* -ser option:  remote nindy auto-start */     \
        case 1004:      /* -ser option:  remote nindy auto-start */     \
          nindy_ttyname = optarg;       \
          nindy_ttyname = optarg;       \
          break;
          break;
 
 
#define ADDITIONAL_OPTION_HELP \
#define ADDITIONAL_OPTION_HELP \
        "\
        "\
  -O                Use old protocol to talk to a Nindy target\n\
  -O                Use old protocol to talk to a Nindy target\n\
  -brk              Send a break to a Nindy target to reset it.\n\
  -brk              Send a break to a Nindy target to reset it.\n\
  -ser SERIAL       Open remote Nindy session to SERIAL port.\n\
  -ser SERIAL       Open remote Nindy session to SERIAL port.\n\
"
"
 
 
/* If specified on the command line, open tty for talking to nindy,
/* If specified on the command line, open tty for talking to nindy,
   and download the executable file if one was specified.  */
   and download the executable file if one was specified.  */
 
 
extern void nindy_open (char *name, int from_tty);
extern void nindy_open (char *name, int from_tty);
#define ADDITIONAL_OPTION_HANDLER                                       \
#define ADDITIONAL_OPTION_HANDLER                                       \
        if (nindy_ttyname != NULL)                                      \
        if (nindy_ttyname != NULL)                                      \
          {                                                             \
          {                                                             \
            if (catch_command_errors (nindy_open, nindy_ttyname,        \
            if (catch_command_errors (nindy_open, nindy_ttyname,        \
                                      !batch, RETURN_MASK_ALL))         \
                                      !batch, RETURN_MASK_ALL))         \
              {                                                         \
              {                                                         \
                if (execarg != NULL)                                    \
                if (execarg != NULL)                                    \
                  catch_command_errors (target_load, execarg, !batch,   \
                  catch_command_errors (target_load, execarg, !batch,   \
                                        RETURN_MASK_ALL);               \
                                        RETURN_MASK_ALL);               \
              }                                                         \
              }                                                         \
          }
          }
 
 
/* If configured for i960 target, we take control before main loop
/* If configured for i960 target, we take control before main loop
   and demand that we configure for a nindy target.  */
   and demand that we configure for a nindy target.  */
 
 
#define BEFORE_MAIN_LOOP_HOOK   \
#define BEFORE_MAIN_LOOP_HOOK   \
  nindy_before_main_loop();
  nindy_before_main_loop();
 
 
extern void
extern void
  nindy_before_main_loop ();    /* In remote-nindy.c */
  nindy_before_main_loop ();    /* In remote-nindy.c */
 
 
/* FRAME_CHAIN_VALID returns zero if the given frame is the outermost one
/* FRAME_CHAIN_VALID returns zero if the given frame is the outermost one
   and has no caller.
   and has no caller.
 
 
   On the i960, each various target system type defines FRAME_CHAIN_VALID,
   On the i960, each various target system type defines FRAME_CHAIN_VALID,
   since it differs between NINDY and VxWorks, the two currently supported
   since it differs between NINDY and VxWorks, the two currently supported
   targets types.  */
   targets types.  */
 
 
extern int nindy_frame_chain_valid PARAMS ((CORE_ADDR, struct frame_info *));
extern int nindy_frame_chain_valid PARAMS ((CORE_ADDR, struct frame_info *));
#define FRAME_CHAIN_VALID(chain, thisframe) nindy_frame_chain_valid (chain, thisframe)
#define FRAME_CHAIN_VALID(chain, thisframe) nindy_frame_chain_valid (chain, thisframe)
 
 
extern int
extern int
  nindy_frame_chain_valid ();   /* See nindy-tdep.c */
  nindy_frame_chain_valid ();   /* See nindy-tdep.c */
 
 
/* Sequence of bytes for breakpoint instruction */
/* Sequence of bytes for breakpoint instruction */
 
 
#define BREAKPOINT {0x00, 0x3e, 0x00, 0x66}
#define BREAKPOINT {0x00, 0x3e, 0x00, 0x66}
 
 
/* Amount ip must be decremented by after a breakpoint.
/* Amount ip must be decremented by after a breakpoint.
 * This is often the number of bytes in BREAKPOINT but not always.
 * This is often the number of bytes in BREAKPOINT but not always.
 */
 */
 
 
#define DECR_PC_AFTER_BREAK 0
#define DECR_PC_AFTER_BREAK 0
 
 
#undef REGISTER_CONVERT_TO_VIRTUAL
#undef REGISTER_CONVERT_TO_VIRTUAL
#undef REGISTER_CONVERT_TO_RAW
#undef REGISTER_CONVERT_TO_RAW
#undef REGISTER_CONVERTIBLE
#undef REGISTER_CONVERTIBLE
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.