Commit | Line | Data |
---|---|---|
d6e58945 PR |
1 | /* Target-dependent code for GNU/Linux on s390. |
2 | ||
42a4f53d | 3 | Copyright (C) 2003-2019 Free Software Foundation, Inc. |
d0f54f9d JB |
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 | |
a9762ec7 | 9 | the Free Software Foundation; either version 3 of the License, or |
d0f54f9d JB |
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 | |
a9762ec7 | 18 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
d0f54f9d | 19 | |
d6e58945 PR |
20 | #ifndef S390_LINUX_TDEP_H |
21 | #define S390_LINUX_TDEP_H | |
d0f54f9d | 22 | |
2ccd1468 UW |
23 | #define S390_IS_GREGSET_REGNUM(i) \ |
24 | (((i) >= S390_PSWM_REGNUM && (i) <= S390_A15_REGNUM) \ | |
25 | || ((i) >= S390_R0_UPPER_REGNUM && (i) <= S390_R15_UPPER_REGNUM) \ | |
26 | || (i) == S390_ORIG_R2_REGNUM) | |
27 | ||
28 | #define S390_IS_FPREGSET_REGNUM(i) \ | |
29 | ((i) >= S390_FPC_REGNUM && (i) <= S390_F15_REGNUM) | |
30 | ||
4ac33720 UW |
31 | #define S390_IS_TDBREGSET_REGNUM(i) \ |
32 | ((i) >= S390_TDB_DWORD0_REGNUM && (i) <= S390_TDB_R15_REGNUM) | |
33 | ||
d6e58945 | 34 | /* Core file register sets, defined in s390-linux-tdep.c. */ |
d0f54f9d | 35 | #define s390_sizeof_gregset 0x90 |
d0f54f9d | 36 | #define s390x_sizeof_gregset 0xd8 |
99b7da5d | 37 | extern const struct regset s390_gregset; |
d0f54f9d | 38 | #define s390_sizeof_fpregset 0x88 |
99b7da5d AA |
39 | extern const struct regset s390_fpregset; |
40 | extern const struct regset s390_last_break_regset; | |
41 | extern const struct regset s390x_last_break_regset; | |
42 | extern const struct regset s390_system_call_regset; | |
43 | extern const struct regset s390_tdb_regset; | |
4ac33720 | 44 | #define s390_sizeof_tdbregset 0x100 |
550bdf96 AA |
45 | extern const struct regset s390_vxrs_low_regset; |
46 | extern const struct regset s390_vxrs_high_regset; | |
1b63490c AA |
47 | extern const struct regset s390_gs_regset; |
48 | extern const struct regset s390_gsbc_regset; | |
d0f54f9d | 49 | |
94eae614 | 50 | /* GNU/Linux target descriptions. */ |
c642a434 UW |
51 | extern struct target_desc *tdesc_s390_linux32v1; |
52 | extern struct target_desc *tdesc_s390_linux32v2; | |
7803799a | 53 | extern struct target_desc *tdesc_s390_linux64; |
c642a434 UW |
54 | extern struct target_desc *tdesc_s390_linux64v1; |
55 | extern struct target_desc *tdesc_s390_linux64v2; | |
4ac33720 | 56 | extern struct target_desc *tdesc_s390_te_linux64; |
550bdf96 AA |
57 | extern struct target_desc *tdesc_s390_vx_linux64; |
58 | extern struct target_desc *tdesc_s390_tevx_linux64; | |
1b63490c | 59 | extern struct target_desc *tdesc_s390_gs_linux64; |
c642a434 UW |
60 | extern struct target_desc *tdesc_s390x_linux64v1; |
61 | extern struct target_desc *tdesc_s390x_linux64v2; | |
4ac33720 | 62 | extern struct target_desc *tdesc_s390x_te_linux64; |
550bdf96 AA |
63 | extern struct target_desc *tdesc_s390x_vx_linux64; |
64 | extern struct target_desc *tdesc_s390x_tevx_linux64; | |
1b63490c | 65 | extern struct target_desc *tdesc_s390x_gs_linux64; |
7803799a | 66 | |
d6e58945 | 67 | #endif /* S390_LINUX_TDEP_H */ |