gdb/tic6x-tdep.h - gdb

Data types defined

Macros defined

Source code

  1. /* GNU/Linux on  TI C6x target support.
  2.    Copyright (C) 2011-2015 Free Software Foundation, Inc.
  3.    Contributed by Yao Qi <yao@codesourcery.com>

  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
  16. {
  17.   TIC6X_A4_REGNUM = 4,
  18.   TIC6X_A5_REGNUM = 5,
  19.   TIC6X_FP_REGNUM = 15/* Frame Pointer: A15 */
  20.   TIC6X_B0_REGNUM = 16,
  21.   TIC6X_RA_REGNUM = 19/* Return address: B3 */
  22.   TIC6X_B4_REGNUM = 20,
  23.   TIC6X_B5_REGNUM = 21,
  24.   TIC6X_DP_REGNUM = 30/* Data Page Pointer: B14 */
  25.   TIC6X_SP_REGNUM = 31/* Stack Pointer: B15 */
  26.   TIC6X_CSR_REGNUM = 32,
  27.   TIC6X_PC_REGNUM = 33,
  28.   TIC6X_NUM_CORE_REGS = 33, /* The number of core registers */
  29.   TIC6X_RILC_REGNUM = 68,
  30.   TIC6X_NUM_REGS /* The number of registers */
  31. };

  32. #define TIC6X_INST_SWE 0x10000000

  33. extern const gdb_byte tic6x_bkpt_illegal_opcode_be[];
  34. extern const gdb_byte tic6x_bkpt_illegal_opcode_le[];

  35. /* Target-dependent structure in gdbarch.  */
  36. struct gdbarch_tdep
  37. {
  38.   /* Return the expected next PC if FRAME is stopped at a syscall
  39.      instruction.  */
  40.   CORE_ADDR (*syscall_next_pc) (struct frame_info *frame);

  41.   const gdb_byte *breakpoint; /* Breakpoint instruction.  */

  42.   int has_gp; /* Has general purpose registers A16 - A31 and B16 - B31.  */
  43. };