gdb/bfin-tdep.h - gdb

Data types defined

Macros defined

Source code

  1. /* Target-dependent code for Analog Devices Blackfin processor, for GDB.

  2.    Copyright (C) 2005-2015 Free Software Foundation, Inc.

  3.    Contributed by Analog Devices, Inc.

  4.    This file is part of GDB.

  5.    This program is free software; you can redistribute it and/or modify
  6.    it under the terms of the GNU General Public License as published by
  7.    the Free Software Foundation; either version 3 of the License, or
  8.    (at your option) any later version.

  9.    This program is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.    GNU General Public License for more details.

  13.    You should have received a copy of the GNU General Public License
  14.    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

  15. enum gdb_regnum {
  16.   /* Core Registers */
  17.   BFIN_R0_REGNUM = 0,
  18.   BFIN_R1_REGNUM,
  19.   BFIN_R2_REGNUM,
  20.   BFIN_R3_REGNUM,
  21.   BFIN_R4_REGNUM,
  22.   BFIN_R5_REGNUM,
  23.   BFIN_R6_REGNUM,
  24.   BFIN_R7_REGNUM,
  25.   BFIN_P0_REGNUM,
  26.   BFIN_P1_REGNUM,
  27.   BFIN_P2_REGNUM,
  28.   BFIN_P3_REGNUM,
  29.   BFIN_P4_REGNUM,
  30.   BFIN_P5_REGNUM,
  31.   BFIN_SP_REGNUM,
  32.   BFIN_FP_REGNUM,
  33.   BFIN_I0_REGNUM,
  34.   BFIN_I1_REGNUM,
  35.   BFIN_I2_REGNUM,
  36.   BFIN_I3_REGNUM,
  37.   BFIN_M0_REGNUM,
  38.   BFIN_M1_REGNUM,
  39.   BFIN_M2_REGNUM,
  40.   BFIN_M3_REGNUM,
  41.   BFIN_B0_REGNUM,
  42.   BFIN_B1_REGNUM,
  43.   BFIN_B2_REGNUM,
  44.   BFIN_B3_REGNUM,
  45.   BFIN_L0_REGNUM,
  46.   BFIN_L1_REGNUM,
  47.   BFIN_L2_REGNUM,
  48.   BFIN_L3_REGNUM,
  49.   BFIN_A0_DOT_X_REGNUM,
  50.   BFIN_A0_DOT_W_REGNUM,
  51.   BFIN_A1_DOT_X_REGNUM,
  52.   BFIN_A1_DOT_W_REGNUM,
  53.   BFIN_ASTAT_REGNUM,
  54.   BFIN_RETS_REGNUM,
  55.   BFIN_LC0_REGNUM,
  56.   BFIN_LT0_REGNUM,
  57.   BFIN_LB0_REGNUM,
  58.   BFIN_LC1_REGNUM,
  59.   BFIN_LT1_REGNUM,
  60.   BFIN_LB1_REGNUM,
  61.   BFIN_CYCLES_REGNUM,
  62.   BFIN_CYCLES2_REGNUM,
  63.   BFIN_USP_REGNUM,
  64.   BFIN_SEQSTAT_REGNUM,
  65.   BFIN_SYSCFG_REGNUM,
  66.   BFIN_RETI_REGNUM,
  67.   BFIN_RETX_REGNUM,
  68.   BFIN_RETN_REGNUM,
  69.   BFIN_RETE_REGNUM,

  70.   /* Pseudo Registers managed remotely.  */
  71.   BFIN_PC_REGNUM,

  72.   /* Pseudo Registers managed locally.  */
  73.   BFIN_CC_REGNUM
  74. };
  75. #define BFIN_NUM_REGS (BFIN_PC_REGNUM + 1)
  76. #define BFIN_NUM_PSEUDO_REGS (1)

  77. /* The ABIs for Blackfin.  */
  78. enum bfin_abi
  79. {
  80.   BFIN_ABI_FLAT
  81. };

  82. /* Target-dependent structure in gdbarch.  */
  83. struct gdbarch_tdep
  84. {
  85.   /* Which ABI is in use?  */
  86.   enum bfin_abi bfin_abi;
  87. };

  88. /* Return the Blackfin ABI associated with GDBARCH.  */
  89. extern enum bfin_abi bfin_abi (struct gdbarch *gdbarch);