GDB (API)
|
00001 /* Target-dependent code for Analog Devices Blackfin processor, for GDB. 00002 00003 Copyright (C) 2005-2013 Free Software Foundation, Inc. 00004 00005 Contributed by Analog Devices, Inc. 00006 00007 This file is part of GDB. 00008 00009 This program is free software; you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation; either version 3 of the License, or 00012 (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00021 00022 enum gdb_regnum { 00023 /* Core Registers */ 00024 BFIN_R0_REGNUM = 0, 00025 BFIN_R1_REGNUM, 00026 BFIN_R2_REGNUM, 00027 BFIN_R3_REGNUM, 00028 BFIN_R4_REGNUM, 00029 BFIN_R5_REGNUM, 00030 BFIN_R6_REGNUM, 00031 BFIN_R7_REGNUM, 00032 BFIN_P0_REGNUM, 00033 BFIN_P1_REGNUM, 00034 BFIN_P2_REGNUM, 00035 BFIN_P3_REGNUM, 00036 BFIN_P4_REGNUM, 00037 BFIN_P5_REGNUM, 00038 BFIN_SP_REGNUM, 00039 BFIN_FP_REGNUM, 00040 BFIN_I0_REGNUM, 00041 BFIN_I1_REGNUM, 00042 BFIN_I2_REGNUM, 00043 BFIN_I3_REGNUM, 00044 BFIN_M0_REGNUM, 00045 BFIN_M1_REGNUM, 00046 BFIN_M2_REGNUM, 00047 BFIN_M3_REGNUM, 00048 BFIN_B0_REGNUM, 00049 BFIN_B1_REGNUM, 00050 BFIN_B2_REGNUM, 00051 BFIN_B3_REGNUM, 00052 BFIN_L0_REGNUM, 00053 BFIN_L1_REGNUM, 00054 BFIN_L2_REGNUM, 00055 BFIN_L3_REGNUM, 00056 BFIN_A0_DOT_X_REGNUM, 00057 BFIN_A0_DOT_W_REGNUM, 00058 BFIN_A1_DOT_X_REGNUM, 00059 BFIN_A1_DOT_W_REGNUM, 00060 BFIN_ASTAT_REGNUM, 00061 BFIN_RETS_REGNUM, 00062 BFIN_LC0_REGNUM, 00063 BFIN_LT0_REGNUM, 00064 BFIN_LB0_REGNUM, 00065 BFIN_LC1_REGNUM, 00066 BFIN_LT1_REGNUM, 00067 BFIN_LB1_REGNUM, 00068 BFIN_CYCLES_REGNUM, 00069 BFIN_CYCLES2_REGNUM, 00070 BFIN_USP_REGNUM, 00071 BFIN_SEQSTAT_REGNUM, 00072 BFIN_SYSCFG_REGNUM, 00073 BFIN_RETI_REGNUM, 00074 BFIN_RETX_REGNUM, 00075 BFIN_RETN_REGNUM, 00076 BFIN_RETE_REGNUM, 00077 00078 /* Pseudo Registers managed remotely. */ 00079 BFIN_PC_REGNUM, 00080 00081 /* Pseudo Registers managed locally. */ 00082 BFIN_CC_REGNUM 00083 }; 00084 #define BFIN_NUM_REGS (BFIN_PC_REGNUM + 1) 00085 #define BFIN_NUM_PSEUDO_REGS (1) 00086 00087 /* The ABIs for Blackfin. */ 00088 enum bfin_abi 00089 { 00090 BFIN_ABI_FLAT 00091 }; 00092 00093 /* Target-dependent structure in gdbarch. */ 00094 struct gdbarch_tdep 00095 { 00096 /* Which ABI is in use? */ 00097 enum bfin_abi bfin_abi; 00098 }; 00099 00100 /* Return the Blackfin ABI associated with GDBARCH. */ 00101 extern enum bfin_abi bfin_abi (struct gdbarch *gdbarch);