]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/bfin-tdep.h
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / bfin-tdep.h
1 /* Target-dependent code for Analog Devices Blackfin processor, for GDB.
2
3 Copyright (C) 2005-2024 Free Software Foundation, Inc.
4
5 Contributed by Analog Devices, Inc.
6
7 This file is part of GDB.
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
21
22 #ifndef BFIN_TDEP_H
23 #define BFIN_TDEP_H
24
25 #include "gdbarch.h"
26
27 enum gdb_regnum {
28 /* Core Registers */
29 BFIN_R0_REGNUM = 0,
30 BFIN_R1_REGNUM,
31 BFIN_R2_REGNUM,
32 BFIN_R3_REGNUM,
33 BFIN_R4_REGNUM,
34 BFIN_R5_REGNUM,
35 BFIN_R6_REGNUM,
36 BFIN_R7_REGNUM,
37 BFIN_P0_REGNUM,
38 BFIN_P1_REGNUM,
39 BFIN_P2_REGNUM,
40 BFIN_P3_REGNUM,
41 BFIN_P4_REGNUM,
42 BFIN_P5_REGNUM,
43 BFIN_SP_REGNUM,
44 BFIN_FP_REGNUM,
45 BFIN_I0_REGNUM,
46 BFIN_I1_REGNUM,
47 BFIN_I2_REGNUM,
48 BFIN_I3_REGNUM,
49 BFIN_M0_REGNUM,
50 BFIN_M1_REGNUM,
51 BFIN_M2_REGNUM,
52 BFIN_M3_REGNUM,
53 BFIN_B0_REGNUM,
54 BFIN_B1_REGNUM,
55 BFIN_B2_REGNUM,
56 BFIN_B3_REGNUM,
57 BFIN_L0_REGNUM,
58 BFIN_L1_REGNUM,
59 BFIN_L2_REGNUM,
60 BFIN_L3_REGNUM,
61 BFIN_A0_DOT_X_REGNUM,
62 BFIN_A0_DOT_W_REGNUM,
63 BFIN_A1_DOT_X_REGNUM,
64 BFIN_A1_DOT_W_REGNUM,
65 BFIN_ASTAT_REGNUM,
66 BFIN_RETS_REGNUM,
67 BFIN_LC0_REGNUM,
68 BFIN_LT0_REGNUM,
69 BFIN_LB0_REGNUM,
70 BFIN_LC1_REGNUM,
71 BFIN_LT1_REGNUM,
72 BFIN_LB1_REGNUM,
73 BFIN_CYCLES_REGNUM,
74 BFIN_CYCLES2_REGNUM,
75 BFIN_USP_REGNUM,
76 BFIN_SEQSTAT_REGNUM,
77 BFIN_SYSCFG_REGNUM,
78 BFIN_RETI_REGNUM,
79 BFIN_RETX_REGNUM,
80 BFIN_RETN_REGNUM,
81 BFIN_RETE_REGNUM,
82
83 /* Pseudo Registers managed remotely. */
84 BFIN_PC_REGNUM,
85
86 /* Pseudo Registers managed locally. */
87 BFIN_CC_REGNUM
88 };
89 #define BFIN_NUM_REGS (BFIN_PC_REGNUM + 1)
90 #define BFIN_NUM_PSEUDO_REGS (1)
91
92 /* The ABIs for Blackfin. */
93 enum bfin_abi
94 {
95 BFIN_ABI_FLAT
96 };
97
98 /* Target-dependent structure in gdbarch. */
99 struct bfin_gdbarch_tdep : gdbarch_tdep_base
100 {
101 /* Which ABI is in use? */
102 enum bfin_abi bfin_abi {};
103 };
104
105 /* Return the Blackfin ABI associated with GDBARCH. */
106 extern enum bfin_abi bfin_abi (struct gdbarch *gdbarch);
107
108 #endif /* BFIN_TDEP_H */