Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / gdb / gdb / config / i386 / tm-i386os9k.h
1 /* Macro definitions for i386 running under BSD Unix.
2    Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc.
3
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
18
19 #ifndef TM_I386OS9K_H
20 #define TM_I386OS9K_H 1
21
22 #include "i386/tm-i386.h"
23
24 /* Number of machine registers */
25
26 #undef  NUM_REGS
27 #define NUM_REGS (16)   /* Basic i*86 regs */
28
29 /* Initializer for an array of names of registers.  There should be at least
30    NUM_REGS strings in this initializer.  Any excess ones are simply ignored.
31    The order of the first 8 registers must match the compiler's numbering
32    scheme (which is the same as the 386 scheme) and also regmap in the various
33    *-nat.c files. */
34
35 #undef  REGISTER_NAMES
36 #define REGISTER_NAMES { "eax", "ecx", "edx", "ebx", \
37                          "esp", "ebp", "esi", "edi", \
38                          "eip", "eflags", "cs", "ss", \
39                          "ds", "es", "fs", "gs", \
40                          }
41
42 #define DATABASE_REG    3               /* ebx */
43
44 /* Amount PC must be decremented by after a breakpoint.  This is often the
45    number of bytes in BREAKPOINT but not always (such as now). */
46
47 #undef DECR_PC_AFTER_BREAK
48 #define DECR_PC_AFTER_BREAK 0
49
50 /* On 386 bsd, sigtramp is above the user stack and immediately below
51    the user area. Using constants here allows for cross debugging.
52    These are tested for BSDI but should work on 386BSD.  */
53 #define SIGTRAMP_START(pc)      0xfdbfdfc0
54 #define SIGTRAMP_END(pc)        0xfdbfe000
55
56 /* Saved Pc.  Get it from sigcontext if within sigtramp.  */
57
58 /* Offset to saved PC in sigcontext, from <sys/signal.h>.  */
59 #define SIGCONTEXT_PC_OFFSET 20
60
61 #define BELIEVE_PCC_PROMOTION 1
62
63 #endif  /* #ifndef TM_I386OS9K_H */