GDBserver

linux-ppc-tdesc.h
Go to the documentation of this file.
1 /* Low level support for ppc, 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 (32 vs 64),
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 ppc_linux_tdesc {
25 PPC_TDESC_BASE,
26 PPC_TDESC_ALTIVEC,
27 PPC_TDESC_CELL,
28 PPC_TDESC_VSX,
29 PPC_TDESC_ISA205,
30 PPC_TDESC_ISA205_ALTIVEC,
31 PPC_TDESC_ISA205_VSX,
32 PPC_TDESC_E500,
33 };
34
35 #if !defined __powerpc64__ || !defined IN_PROCESS_AGENT
36
37 /* Defined in auto-generated file powerpc-32l.c. */
38 void init_registers_powerpc_32l (void);
39 extern const struct target_desc *tdesc_powerpc_32l;
40
41 /* Defined in auto-generated file powerpc-altivec32l.c. */
42 void init_registers_powerpc_altivec32l (void);
43 extern const struct target_desc *tdesc_powerpc_altivec32l;
44
45 /* Defined in auto-generated file powerpc-cell32l.c. */
46 void init_registers_powerpc_cell32l (void);
47 extern const struct target_desc *tdesc_powerpc_cell32l;
48
49 /* Defined in auto-generated file powerpc-vsx32l.c. */
50 void init_registers_powerpc_vsx32l (void);
51 extern const struct target_desc *tdesc_powerpc_vsx32l;
52
53 /* Defined in auto-generated file powerpc-isa205-32l.c. */
54 void init_registers_powerpc_isa205_32l (void);
55 extern const struct target_desc *tdesc_powerpc_isa205_32l;
56
57 /* Defined in auto-generated file powerpc-isa205-altivec32l.c. */
58 void init_registers_powerpc_isa205_altivec32l (void);
59 extern const struct target_desc *tdesc_powerpc_isa205_altivec32l;
60
61 /* Defined in auto-generated file powerpc-isa205-vsx32l.c. */
62 void init_registers_powerpc_isa205_vsx32l (void);
63 extern const struct target_desc *tdesc_powerpc_isa205_vsx32l;
64
65 /* Defined in auto-generated file powerpc-e500l.c. */
66 void init_registers_powerpc_e500l (void);
67 extern const struct target_desc *tdesc_powerpc_e500l;
68
69 #endif
70
71 #if defined __powerpc64__
72
73 /* Defined in auto-generated file powerpc-64l.c. */
74 void init_registers_powerpc_64l (void);
75 extern const struct target_desc *tdesc_powerpc_64l;
76
77 /* Defined in auto-generated file powerpc-altivec64l.c. */
78 void init_registers_powerpc_altivec64l (void);
79 extern const struct target_desc *tdesc_powerpc_altivec64l;
80
81 /* Defined in auto-generated file powerpc-cell64l.c. */
82 void init_registers_powerpc_cell64l (void);
83 extern const struct target_desc *tdesc_powerpc_cell64l;
84
85 /* Defined in auto-generated file powerpc-vsx64l.c. */
86 void init_registers_powerpc_vsx64l (void);
87 extern const struct target_desc *tdesc_powerpc_vsx64l;
88
89 /* Defined in auto-generated file powerpc-isa205-64l.c. */
90 void init_registers_powerpc_isa205_64l (void);
91 extern const struct target_desc *tdesc_powerpc_isa205_64l;
92
93 /* Defined in auto-generated file powerpc-isa205-altivec64l.c. */
94 void init_registers_powerpc_isa205_altivec64l (void);
95 extern const struct target_desc *tdesc_powerpc_isa205_altivec64l;
96
97 /* Defined in auto-generated file powerpc-isa205-vsx64l.c. */
98 void init_registers_powerpc_isa205_vsx64l (void);
99 extern const struct target_desc *tdesc_powerpc_isa205_vsx64l;
100
101 #endif
tdesc_powerpc_vsx32l
const struct target_desc * tdesc_powerpc_vsx32l
tdesc_powerpc_isa205_altivec32l
const struct target_desc * tdesc_powerpc_isa205_altivec32l
PPC_TDESC_ISA205
Definition: linux-ppc-tdesc.h:29
PPC_TDESC_VSX
Definition: linux-ppc-tdesc.h:28
tdesc_powerpc_32l
const struct target_desc * tdesc_powerpc_32l
PPC_TDESC_E500
Definition: linux-ppc-tdesc.h:32
init_registers_powerpc_e500l
void init_registers_powerpc_e500l(void)
tdesc_powerpc_isa205_32l
const struct target_desc * tdesc_powerpc_isa205_32l
init_registers_powerpc_cell32l
void init_registers_powerpc_cell32l(void)
PPC_TDESC_ALTIVEC
Definition: linux-ppc-tdesc.h:26
ppc_linux_tdesc
ppc_linux_tdesc
Definition: linux-ppc-tdesc.h:24
init_registers_powerpc_isa205_32l
void init_registers_powerpc_isa205_32l(void)
tdesc_powerpc_e500l
const struct target_desc * tdesc_powerpc_e500l
PPC_TDESC_CELL
Definition: linux-ppc-tdesc.h:27
init_registers_powerpc_32l
void init_registers_powerpc_32l(void)
PPC_TDESC_BASE
Definition: linux-ppc-tdesc.h:25
tdesc_powerpc_isa205_vsx32l
const struct target_desc * tdesc_powerpc_isa205_vsx32l
init_registers_powerpc_vsx32l
void init_registers_powerpc_vsx32l(void)
init_registers_powerpc_isa205_vsx32l
void init_registers_powerpc_isa205_vsx32l(void)
PPC_TDESC_ISA205_ALTIVEC
Definition: linux-ppc-tdesc.h:30
PPC_TDESC_ISA205_VSX
Definition: linux-ppc-tdesc.h:31
init_registers_powerpc_altivec32l
void init_registers_powerpc_altivec32l(void)
target_desc
Definition: tdesc.h:33
init_registers_powerpc_isa205_altivec32l
void init_registers_powerpc_isa205_altivec32l(void)
tdesc_powerpc_altivec32l
const struct target_desc * tdesc_powerpc_altivec32l
tdesc_powerpc_cell32l
const struct target_desc * tdesc_powerpc_cell32l