GDBserver

linux-s390-tdesc.h
Go to the documentation of this file.
1 /* Low level support for s390, shared between gdbserver and IPA.
2
3 Copyright (C) 2016-2018 Free Software Foundation, Inc.
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 3 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, see <http://www.gnu.org/licenses/>. */
19
20 /* Note: since IPA obviously knows what ABI it's running on (s390 vs s390x),
21 it's sufficient to pass only the register set here. This, together with
22 the ABI known at IPA compile time, maps to a tdesc. */
23
24 enum s390_linux_tdesc {
25 S390_TDESC_32,
26 S390_TDESC_32V1,
27 S390_TDESC_32V2,
28 S390_TDESC_64,
29 S390_TDESC_64V1,
30 S390_TDESC_64V2,
31 S390_TDESC_TE,
32 S390_TDESC_VX,
33 S390_TDESC_TEVX,
34 S390_TDESC_GS,
35 };
36
37 #ifdef __s390x__
38
39 /* Defined in auto-generated file s390x-linux64.c. */
40 void init_registers_s390x_linux64 (void);
41 extern const struct target_desc *tdesc_s390x_linux64;
42
43 /* Defined in auto-generated file s390x-linux64v1.c. */
44 void init_registers_s390x_linux64v1 (void);
45 extern const struct target_desc *tdesc_s390x_linux64v1;
46
47 /* Defined in auto-generated file s390x-linux64v2.c. */
48 void init_registers_s390x_linux64v2 (void);
49 extern const struct target_desc *tdesc_s390x_linux64v2;
50
51 /* Defined in auto-generated file s390x-te-linux64.c. */
52 void init_registers_s390x_te_linux64 (void);
53 extern const struct target_desc *tdesc_s390x_te_linux64;
54
55 /* Defined in auto-generated file s390x-vx-linux64.c. */
56 void init_registers_s390x_vx_linux64 (void);
57 extern const struct target_desc *tdesc_s390x_vx_linux64;
58
59 /* Defined in auto-generated file s390x-tevx-linux64.c. */
60 void init_registers_s390x_tevx_linux64 (void);
61 extern const struct target_desc *tdesc_s390x_tevx_linux64;
62
63 /* Defined in auto-generated file s390x-gs-linux64.c. */
64 void init_registers_s390x_gs_linux64 (void);
65 extern const struct target_desc *tdesc_s390x_gs_linux64;
66
67 #endif
68
69 #if !defined __s390x__ || !defined IN_PROCESS_AGENT
70
71 /* Defined in auto-generated file s390-linux32.c. */
72 void init_registers_s390_linux32 (void);
73 extern const struct target_desc *tdesc_s390_linux32;
74
75 /* Defined in auto-generated file s390-linux32v1.c. */
76 void init_registers_s390_linux32v1 (void);
77 extern const struct target_desc *tdesc_s390_linux32v1;
78
79 /* Defined in auto-generated file s390-linux32v2.c. */
80 void init_registers_s390_linux32v2 (void);
81 extern const struct target_desc *tdesc_s390_linux32v2;
82
83 /* Defined in auto-generated file s390-linux64.c. */
84 void init_registers_s390_linux64 (void);
85 extern const struct target_desc *tdesc_s390_linux64;
86
87 /* Defined in auto-generated file s390-linux64v1.c. */
88 void init_registers_s390_linux64v1 (void);
89 extern const struct target_desc *tdesc_s390_linux64v1;
90
91 /* Defined in auto-generated file s390-linux64v2.c. */
92 void init_registers_s390_linux64v2 (void);
93 extern const struct target_desc *tdesc_s390_linux64v2;
94
95 /* Defined in auto-generated file s390-te-linux64.c. */
96 void init_registers_s390_te_linux64 (void);
97 extern const struct target_desc *tdesc_s390_te_linux64;
98
99 /* Defined in auto-generated file s390-vx-linux64.c. */
100 void init_registers_s390_vx_linux64 (void);
101 extern const struct target_desc *tdesc_s390_vx_linux64;
102
103 /* Defined in auto-generated file s390-tevx-linux64.c. */
104 void init_registers_s390_tevx_linux64 (void);
105 extern const struct target_desc *tdesc_s390_tevx_linux64;
106
107 /* Defined in auto-generated file s390-gs-linux64.c. */
108 void init_registers_s390_gs_linux64 (void);
109 extern const struct target_desc *tdesc_s390_gs_linux64;
110
111 #endif
init_registers_s390_linux32
void init_registers_s390_linux32(void)
tdesc_s390_linux64v1
const struct target_desc * tdesc_s390_linux64v1
init_registers_s390_tevx_linux64
void init_registers_s390_tevx_linux64(void)
S390_TDESC_TE
Definition: linux-s390-tdesc.h:31
init_registers_s390_te_linux64
void init_registers_s390_te_linux64(void)
init_registers_s390_linux64
void init_registers_s390_linux64(void)
tdesc_s390_linux32
const struct target_desc * tdesc_s390_linux32
init_registers_s390_gs_linux64
void init_registers_s390_gs_linux64(void)
s390_linux_tdesc
s390_linux_tdesc
Definition: linux-s390-tdesc.h:24
tdesc_s390_te_linux64
const struct target_desc * tdesc_s390_te_linux64
S390_TDESC_GS
Definition: linux-s390-tdesc.h:34
S390_TDESC_VX
Definition: linux-s390-tdesc.h:32
init_registers_s390_vx_linux64
void init_registers_s390_vx_linux64(void)
init_registers_s390_linux32v1
void init_registers_s390_linux32v1(void)
init_registers_s390_linux64v1
void init_registers_s390_linux64v1(void)
tdesc_s390_vx_linux64
const struct target_desc * tdesc_s390_vx_linux64
S390_TDESC_64V1
Definition: linux-s390-tdesc.h:29
tdesc_s390_gs_linux64
const struct target_desc * tdesc_s390_gs_linux64
S390_TDESC_64
Definition: linux-s390-tdesc.h:28
S390_TDESC_32V2
Definition: linux-s390-tdesc.h:27
tdesc_s390_linux32v1
const struct target_desc * tdesc_s390_linux32v1
target_desc
Definition: tdesc.h:33
S390_TDESC_TEVX
Definition: linux-s390-tdesc.h:33
tdesc_s390_tevx_linux64
const struct target_desc * tdesc_s390_tevx_linux64
tdesc_s390_linux32v2
const struct target_desc * tdesc_s390_linux32v2
tdesc_s390_linux64
const struct target_desc * tdesc_s390_linux64
S390_TDESC_32
Definition: linux-s390-tdesc.h:25
S390_TDESC_32V1
Definition: linux-s390-tdesc.h:26
init_registers_s390_linux64v2
void init_registers_s390_linux64v2(void)
init_registers_s390_linux32v2
void init_registers_s390_linux32v2(void)
S390_TDESC_64V2
Definition: linux-s390-tdesc.h:30
tdesc_s390_linux64v2
const struct target_desc * tdesc_s390_linux64v2