GDB (API)
|
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 */