/* Target-dependent code for Analog Devices Blackfin processor, for GDB. Copyright (C) 2005-2024 Free Software Foundation, Inc. Contributed by Analog Devices, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef GDB_BFIN_TDEP_H #define GDB_BFIN_TDEP_H #include "gdbarch.h" enum gdb_regnum { /* Core Registers */ BFIN_R0_REGNUM = 0, BFIN_R1_REGNUM, BFIN_R2_REGNUM, BFIN_R3_REGNUM, BFIN_R4_REGNUM, BFIN_R5_REGNUM, BFIN_R6_REGNUM, BFIN_R7_REGNUM, BFIN_P0_REGNUM, BFIN_P1_REGNUM, BFIN_P2_REGNUM, BFIN_P3_REGNUM, BFIN_P4_REGNUM, BFIN_P5_REGNUM, BFIN_SP_REGNUM, BFIN_FP_REGNUM, BFIN_I0_REGNUM, BFIN_I1_REGNUM, BFIN_I2_REGNUM, BFIN_I3_REGNUM, BFIN_M0_REGNUM, BFIN_M1_REGNUM, BFIN_M2_REGNUM, BFIN_M3_REGNUM, BFIN_B0_REGNUM, BFIN_B1_REGNUM, BFIN_B2_REGNUM, BFIN_B3_REGNUM, BFIN_L0_REGNUM, BFIN_L1_REGNUM, BFIN_L2_REGNUM, BFIN_L3_REGNUM, BFIN_A0_DOT_X_REGNUM, BFIN_A0_DOT_W_REGNUM, BFIN_A1_DOT_X_REGNUM, BFIN_A1_DOT_W_REGNUM, BFIN_ASTAT_REGNUM, BFIN_RETS_REGNUM, BFIN_LC0_REGNUM, BFIN_LT0_REGNUM, BFIN_LB0_REGNUM, BFIN_LC1_REGNUM, BFIN_LT1_REGNUM, BFIN_LB1_REGNUM, BFIN_CYCLES_REGNUM, BFIN_CYCLES2_REGNUM, BFIN_USP_REGNUM, BFIN_SEQSTAT_REGNUM, BFIN_SYSCFG_REGNUM, BFIN_RETI_REGNUM, BFIN_RETX_REGNUM, BFIN_RETN_REGNUM, BFIN_RETE_REGNUM, /* Pseudo Registers managed remotely. */ BFIN_PC_REGNUM, /* Pseudo Registers managed locally. */ BFIN_CC_REGNUM }; #define BFIN_NUM_REGS (BFIN_PC_REGNUM + 1) #define BFIN_NUM_PSEUDO_REGS (1) /* The ABIs for Blackfin. */ enum bfin_abi { BFIN_ABI_FLAT }; /* Target-dependent structure in gdbarch. */ struct bfin_gdbarch_tdep : gdbarch_tdep_base { /* Which ABI is in use? */ enum bfin_abi bfin_abi {}; }; /* Return the Blackfin ABI associated with GDBARCH. */ extern enum bfin_abi bfin_abi (struct gdbarch *gdbarch); #endif /* GDB_BFIN_TDEP_H */