GDB (API)
/home/stan/gdb/src/gdb/tilegx-tdep.h
Go to the documentation of this file.
00001 /* Target-dependent code for the Tilera TILE-Gx processor.
00002 
00003    Copyright (C) 2012-2013 Free Software Foundation, Inc.
00004 
00005    This file is part of GDB.
00006 
00007    This program is free software; you can redistribute it and/or modify
00008    it under the terms of the GNU General Public License as published by
00009    the Free Software Foundation; either version 3 of the License, or
00010    (at your option) any later version.
00011 
00012    This program is distributed in the hope that it will be useful,
00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015    GNU General Public License for more details.
00016 
00017    You should have received a copy of the GNU General Public License
00018    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
00019 
00020 #ifndef TILEGX_TDEP_H
00021 #define TILEGX_TDEP_H
00022 
00023 /* TILE-Gx has 56 general purpose registers (R0 - R52, TP, SP, LR),
00024    plus 8 special general purpose registers (network and ZERO),
00025    plus 1 magic register (PC).
00026 
00027    TP (aka R53) is the thread specific data pointer.
00028    SP (aka R54) is the stack pointer.
00029    LR (aka R55) is the link register.  */
00030 
00031 enum tilegx_regnum
00032   {
00033     TILEGX_R0_REGNUM,
00034     TILEGX_R1_REGNUM,
00035     TILEGX_R2_REGNUM,
00036     TILEGX_R3_REGNUM,
00037     TILEGX_R4_REGNUM,
00038     TILEGX_R5_REGNUM,
00039     TILEGX_R6_REGNUM,
00040     TILEGX_R7_REGNUM,
00041     TILEGX_R8_REGNUM,
00042     TILEGX_R9_REGNUM,
00043     TILEGX_R10_REGNUM,
00044     TILEGX_R11_REGNUM,
00045     TILEGX_R12_REGNUM,
00046     TILEGX_R13_REGNUM,
00047     TILEGX_R14_REGNUM,
00048     TILEGX_R15_REGNUM,
00049     TILEGX_R16_REGNUM,
00050     TILEGX_R17_REGNUM,
00051     TILEGX_R18_REGNUM,
00052     TILEGX_R19_REGNUM,
00053     TILEGX_R20_REGNUM,
00054     TILEGX_R21_REGNUM,
00055     TILEGX_R22_REGNUM,
00056     TILEGX_R23_REGNUM,
00057     TILEGX_R24_REGNUM,
00058     TILEGX_R25_REGNUM,
00059     TILEGX_R26_REGNUM,
00060     TILEGX_R27_REGNUM,
00061     TILEGX_R28_REGNUM,
00062     TILEGX_R29_REGNUM,
00063     TILEGX_R30_REGNUM,
00064     TILEGX_R31_REGNUM,
00065     TILEGX_R32_REGNUM,
00066     TILEGX_R33_REGNUM,
00067     TILEGX_R34_REGNUM,
00068     TILEGX_R35_REGNUM,
00069     TILEGX_R36_REGNUM,
00070     TILEGX_R37_REGNUM,
00071     TILEGX_R38_REGNUM,
00072     TILEGX_R39_REGNUM,
00073     TILEGX_R40_REGNUM,
00074     TILEGX_R41_REGNUM,
00075     TILEGX_R42_REGNUM,
00076     TILEGX_R43_REGNUM,
00077     TILEGX_R44_REGNUM,
00078     TILEGX_R45_REGNUM,
00079     TILEGX_R46_REGNUM,
00080     TILEGX_R47_REGNUM,
00081     TILEGX_R48_REGNUM,
00082     TILEGX_R49_REGNUM,
00083     TILEGX_R50_REGNUM,
00084     TILEGX_R51_REGNUM,
00085     TILEGX_R52_REGNUM,
00086     TILEGX_TP_REGNUM,
00087     TILEGX_SP_REGNUM,
00088     TILEGX_LR_REGNUM,
00089 
00090     TILEGX_SN_REGNUM,
00091     TILEGX_NUM_EASY_REGS = TILEGX_SN_REGNUM, /* 56 */
00092 
00093     TILEGX_IO0_REGNUM,
00094     TILEGX_IO1_REGNUM,
00095     TILEGX_US0_REGNUM,
00096     TILEGX_US1_REGNUM,
00097     TILEGX_US2_REGNUM,
00098     TILEGX_US3_REGNUM,
00099     TILEGX_ZERO_REGNUM,
00100 
00101     TILEGX_PC_REGNUM,
00102     TILEGX_NUM_PHYS_REGS = TILEGX_PC_REGNUM, /* 64 */
00103     TILEGX_FAULTNUM_REGNUM,
00104     TILEGX_NUM_REGS, /* 66 */
00105   };
00106 
00107 enum { tilegx_reg_size = 8 };
00108 
00109 #endif /* tilegx-tdep.h */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines