]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/config/m68k/tm-altos.h
Initial creation of sourceware repository
[thirdparty/binutils-gdb.git] / gdb / config / m68k / tm-altos.h
1 /* Target definitions for GDB on an Altos 3068 (m68k running SVR2)
2 Copyright 1987, 1989, 1991, 1993 Free Software Foundation, Inc.
3
4 This file is part of GDB.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
19
20 /* The child target can't deal with floating registers. */
21 #define CANNOT_STORE_REGISTER(regno) ((regno) >= FP0_REGNUM)
22
23 /* Define BPT_VECTOR if it is different than the default.
24 This is the vector number used by traps to indicate a breakpoint. */
25
26 #define BPT_VECTOR 0xe
27
28 /* Address of end of stack space. */
29
30 /*#define STACK_END_ADDR (0xffffff)*/
31 #define STACK_END_ADDR (0x1000000)
32
33 /* Amount PC must be decremented by after a breakpoint.
34 On the Altos, the kernel resets the pc to the trap instr */
35
36 #define DECR_PC_AFTER_BREAK 0
37
38 /* The only reason this is here is the tm-altos.h reference below. It
39 was moved back here from tm-m68k.h. FIXME? */
40
41 #define SKIP_PROLOGUE(pc) \
42 { register int op = read_memory_integer (pc, 2); \
43 if (op == 0047126) \
44 pc += 4; /* Skip link #word */ \
45 else if (op == 0044016) \
46 pc += 6; /* Skip link #long */ \
47 /* Not sure why branches are here. */ \
48 /* From tm-isi.h, tm-altos.h */ \
49 else if (op == 0060000) \
50 pc += 4; /* Skip bra #word */ \
51 else if (op == 00600377) \
52 pc += 6; /* skip bra #long */ \
53 else if ((op & 0177400) == 0060000) \
54 pc += 2; /* skip bra #char */ \
55 }
56
57 #include "m68k/tm-m68k.h"