import gdb-1999-11-08 snapshot
[deliverable/binutils-gdb.git] / gdb / config / i960 / tm-nindy960.h
CommitLineData
c906108c
SS
1/* Parameters for Intel 960 running NINDY monitor, for GDB, the GNU debugger.
2 Copyright (C) 1990-1991 Free Software Foundation, Inc.
3 Contributed by Intel Corporation and Cygnus Support.
4
c5aa993b 5 This file is part of GDB.
c906108c 6
c5aa993b
JM
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
c906108c 11
c5aa993b
JM
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
c906108c 16
c5aa993b
JM
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. */
c906108c
SS
21
22/*****************************************************************************
23 * Definitions to target GDB to an i960 debugged over a serial line.
24 ******************************************************************************/
25
26#include "i960/tm-i960.h"
27
28/* forward declarations */
c906108c 29struct frame_info;
c906108c
SS
30
31/* Override the standard gdb prompt when compiled for this target. */
32
33#define DEFAULT_PROMPT "(gdb960) "
34
35/* Additional command line options accepted by nindy gdb's, for handling
36 the remote-nindy.c interface. These should really be target-specific
37 rather than architecture-specific. */
38
39extern int nindy_old_protocol; /* nonzero if old NINDY serial protocol */
40extern int nindy_initial_brk; /* Send a BREAK to reset board first */
41extern char *nindy_ttyname; /* Name of serial port to talk to nindy */
42
43#define ADDITIONAL_OPTIONS \
44 {"O", no_argument, &nindy_old_protocol, 1}, \
45 {"brk", no_argument, &nindy_initial_brk, 1}, \
c5aa993b 46 {"ser", required_argument, 0, 1004}, /* 1004 is magic cookie for ADDL_CASES */
c906108c
SS
47
48#define ADDITIONAL_OPTION_CASES \
49 case 1004: /* -ser option: remote nindy auto-start */ \
50 nindy_ttyname = optarg; \
51 break;
52
53#define ADDITIONAL_OPTION_HELP \
54 "\
55 -O Use old protocol to talk to a Nindy target\n\
56 -brk Send a break to a Nindy target to reset it.\n\
57 -ser SERIAL Open remote Nindy session to SERIAL port.\n\
58"
59
60/* If specified on the command line, open tty for talking to nindy,
61 and download the executable file if one was specified. */
62
11cf8741
JM
63extern void nindy_open (char *name, int from_tty);
64#define ADDITIONAL_OPTION_HANDLER \
65 if (nindy_ttyname != NULL) \
66 { \
67 if (catch_command_errors (nindy_open, nindy_ttyname, \
68 !batch, RETURN_MASK_ALL)) \
69 { \
70 if (execarg != NULL) \
71 catch_command_errors (target_load, execarg, !batch, \
72 RETURN_MASK_ALL); \
73 } \
74 }
c906108c
SS
75
76/* If configured for i960 target, we take control before main loop
77 and demand that we configure for a nindy target. */
78
79#define BEFORE_MAIN_LOOP_HOOK \
80 nindy_before_main_loop();
81
82extern void
c5aa993b 83 nindy_before_main_loop (); /* In remote-nindy.c */
c906108c
SS
84
85/* FRAME_CHAIN_VALID returns zero if the given frame is the outermost one
86 and has no caller.
87
88 On the i960, each various target system type defines FRAME_CHAIN_VALID,
89 since it differs between NINDY and VxWorks, the two currently supported
90 targets types. */
91
92extern int nindy_frame_chain_valid PARAMS ((CORE_ADDR, struct frame_info *));
93#define FRAME_CHAIN_VALID(chain, thisframe) nindy_frame_chain_valid (chain, thisframe)
94
95extern int
c5aa993b 96 nindy_frame_chain_valid (); /* See nindy-tdep.c */
c906108c
SS
97
98/* Sequence of bytes for breakpoint instruction */
99
100#define BREAKPOINT {0x00, 0x3e, 0x00, 0x66}
101
102/* Amount ip must be decremented by after a breakpoint.
103 * This is often the number of bytes in BREAKPOINT but not always.
104 */
105
106#define DECR_PC_AFTER_BREAK 0
107
108#undef REGISTER_CONVERT_TO_VIRTUAL
109#undef REGISTER_CONVERT_TO_RAW
110#undef REGISTER_CONVERTIBLE
This page took 0.059703 seconds and 4 git commands to generate.