Commit | Line | Data |
---|---|---|
c906108c SS |
1 | /* Target machine parameters for MIPS r4000 |
2 | Copyright 1994, 1996 Free Software Foundation, Inc. | |
3 | Contributed by Ian Lance Taylor (ian@cygnus.com) | |
4 | ||
5 | This file is part of GDB. | |
6 | ||
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. | |
11 | ||
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. | |
16 | ||
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, Boston, MA 02111-1307, USA. */ | |
20 | ||
21 | #define GDB_TARGET_IS_MIPS64 1 | |
22 | ||
23 | /* Use eight byte registers. */ | |
24 | #define MIPS_REGSIZE 8 | |
25 | ||
26 | /* define 8 byte register type */ | |
27 | #define REGISTER_VIRTUAL_TYPE(N) \ | |
28 | (((N) >= FP0_REGNUM && (N) < FP0_REGNUM+32) ? builtin_type_double \ | |
29 | : ((N) == 32 /*SR*/) ? builtin_type_uint32 \ | |
30 | : ((N) >= 70 && (N) <= 89) ? builtin_type_uint32 \ | |
31 | : builtin_type_long_long) | |
32 | ||
33 | /* Load double words in CALL_DUMMY. */ | |
34 | #define OP_LDFPR 065 /* ldc1 */ | |
35 | #define OP_LDGPR 067 /* ld */ | |
36 | ||
37 | #if defined(MIPS_EABI) && (MIPS_EABI != 0) | |
38 | /* Define sizes for 64-bit data types, allow specific targets to override | |
39 | these values. Doing so may violate the strict EABI, but it's necessary | |
40 | for some MIPS III and MIPS IV machines that want 64bit longs, but 32bit | |
41 | pointers. */ | |
42 | #ifndef TARGET_LONG_BIT | |
43 | #define TARGET_LONG_BIT 64 | |
44 | #endif | |
45 | #ifndef TARGET_LONG_LONG_BIT | |
46 | #define TARGET_LONG_LONG_BIT 64 | |
47 | #endif | |
48 | #ifndef TARGET_PTR_BIT | |
49 | #define TARGET_PTR_BIT 64 | |
50 | #endif | |
51 | #endif /* MIPS_EABI */ | |
52 | ||
53 | /* Get the basic MIPS definitions. */ | |
54 | #include "tm-mips.h" |