1 /* Host-machine dependent parameters for Motorola 88000, for GDB.
2 Copyright 1986, 1987, 1988, 1989, 1990, 1991 Free Software Foundation, Inc.
4 This file is part of GDB.
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.
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.
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., 675 Mass Ave, Cambridge, MA 02139, USA. */
20 /* This is currently for a 88000 running DGUX. If other 88k ports are
21 done, OS-specific stuff should be moved (see tm-68k.h, for example). */
22 /* g++ support is not yet included. */
24 #define HOST_BYTE_ORDER BIG_ENDIAN
30 #include <sys/param.h>
33 #define memcpy __builtin_memcpy
34 /* gcc doesn't have this, at least not gcc 1.92. */
35 /* #define memset __builtin_memset */
36 #define strcmp __builtin_strcmp
40 #define x_foff _x_x._x_offset
41 #define x_fname _x_name
42 #define USER ptrace_user
43 #define _BSD_WAIT_FLAVOR
54 #define HAVE_GETPAGESIZE
56 /* Get rid of any system-imposed stack limit if possible. */
58 #define SET_STACK_LIMIT_HUGE
60 /* number of traps that happen between exec'ing the shell
61 * to run an inferior, and when we finally get to
62 * the inferior code. This is 2 on most implementations.
64 #define START_INFERIOR_TRAPS_EXPECTED 2
66 /* This is the amount to subtract from u.u_ar0
67 to get the offset in the core file of the register values. */
69 /* Since registers r0 through r31 are stored directly in the struct ptrace_user,
71 the ptrace_user offsets are sufficient and KERNEL_U_ADDRESS can be 0 */
73 #define KERNEL_U_ADDR 0
75 #define REGISTER_U_ADDR(addr, blockend, regno) \
76 (addr) = m88k_register_u_addr ((blockend),(regno));
78 #define HAVE_WAIT_STRUCT
80 #define FETCH_INFERIOR_REGISTERS