Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / gdb / gdb / config / i386 / tm-i386m3.h
1 /* Macro definitions for i386, Mach 3.0
2    Copyright (C) 1992 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 /* Include common definitions for Mach3 systems */
21 #include "nm-m3.h"
22
23 /* Define offsets to access CPROC stack when it does not have
24  * a kernel thread.
25  */
26 #define MACHINE_CPROC_SP_OFFSET 20
27 #define MACHINE_CPROC_PC_OFFSET 16
28 #define MACHINE_CPROC_FP_OFFSET 12
29
30 /* Thread flavors used in re-setting the T bit.
31  * @@ this is also bad for cross debugging.
32  */
33 #define TRACE_FLAVOR            i386_THREAD_STATE
34 #define TRACE_FLAVOR_SIZE       i386_THREAD_STATE_COUNT
35 #define TRACE_SET(x,state) \
36         ((struct i386_thread_state *)state)->efl |= 0x100
37 #define TRACE_CLEAR(x,state) \
38         ((((struct i386_thread_state *)state)->efl &= ~0x100), 1)
39
40 /* we can do it */
41 #define ATTACH_DETACH 1
42
43 /* Define this if the C compiler puts an underscore at the front
44    of external names before giving them to the linker.  */
45
46 #define NAMES_HAVE_UNDERSCORE
47
48 /* Sigh. There should be a file for i386 but no sysv stuff in it */
49 #include "i386/tm-i386.h"
50
51 /* I want to test this float info code. See comment in tm-i386v.h */
52 #undef FLOAT_INFO
53 #define FLOAT_INFO { i386_mach3_float_info (); }
54
55 /* Address of end of stack space.
56  * for MACH, see <machine/vmparam.h>
57  * @@@ I don't know what is in the 5 ints...
58  */
59 #undef  STACK_END_ADDR
60 #define STACK_END_ADDR (0xc0000000-sizeof(int [5]))