1 /* Target-dependent code for the Tilera TILE-Gx processor. 2 3 Copyright (C) 2012-2019 Free Software Foundation, Inc. 4 5 This file is part of GDB. 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20 #ifndef TILEGX_TDEP_H 21 #define TILEGX_TDEP_H 22 23 /* TILE-Gx has 56 general purpose registers (R0 - R52, TP, SP, LR), 24 plus 8 special general purpose registers (network and ZERO), 25 plus 1 magic register (PC). 26 27 TP (aka R53) is the thread specific data pointer. 28 SP (aka R54) is the stack pointer. 29 LR (aka R55) is the link register. */ 30 31 enum tilegx_regnum 32 { 33 TILEGX_R0_REGNUM, 34 TILEGX_FIRST_EASY_REGNUM = TILEGX_R0_REGNUM, 35 TILEGX_R1_REGNUM, 36 TILEGX_R2_REGNUM, 37 TILEGX_R3_REGNUM, 38 TILEGX_R4_REGNUM, 39 TILEGX_R5_REGNUM, 40 TILEGX_R6_REGNUM, 41 TILEGX_R7_REGNUM, 42 TILEGX_R8_REGNUM, 43 TILEGX_R9_REGNUM, 44 TILEGX_R10_REGNUM, 45 TILEGX_R11_REGNUM, 46 TILEGX_R12_REGNUM, 47 TILEGX_R13_REGNUM, 48 TILEGX_R14_REGNUM, 49 TILEGX_R15_REGNUM, 50 TILEGX_R16_REGNUM, 51 TILEGX_R17_REGNUM, 52 TILEGX_R18_REGNUM, 53 TILEGX_R19_REGNUM, 54 TILEGX_R20_REGNUM, 55 TILEGX_R21_REGNUM, 56 TILEGX_R22_REGNUM, 57 TILEGX_R23_REGNUM, 58 TILEGX_R24_REGNUM, 59 TILEGX_R25_REGNUM, 60 TILEGX_R26_REGNUM, 61 TILEGX_R27_REGNUM, 62 TILEGX_R28_REGNUM, 63 TILEGX_R29_REGNUM, 64 TILEGX_R30_REGNUM, 65 TILEGX_R31_REGNUM, 66 TILEGX_R32_REGNUM, 67 TILEGX_R33_REGNUM, 68 TILEGX_R34_REGNUM, 69 TILEGX_R35_REGNUM, 70 TILEGX_R36_REGNUM, 71 TILEGX_R37_REGNUM, 72 TILEGX_R38_REGNUM, 73 TILEGX_R39_REGNUM, 74 TILEGX_R40_REGNUM, 75 TILEGX_R41_REGNUM, 76 TILEGX_R42_REGNUM, 77 TILEGX_R43_REGNUM, 78 TILEGX_R44_REGNUM, 79 TILEGX_R45_REGNUM, 80 TILEGX_R46_REGNUM, 81 TILEGX_R47_REGNUM, 82 TILEGX_R48_REGNUM, 83 TILEGX_R49_REGNUM, 84 TILEGX_R50_REGNUM, 85 TILEGX_R51_REGNUM, 86 TILEGX_R52_REGNUM, 87 TILEGX_TP_REGNUM, 88 TILEGX_SP_REGNUM, 89 TILEGX_LR_REGNUM, 90 91 TILEGX_SN_REGNUM, 92 TILEGX_NUM_EASY_REGS = TILEGX_SN_REGNUM, /* 56 */ 93 94 TILEGX_IO0_REGNUM, 95 TILEGX_IO1_REGNUM, 96 TILEGX_US0_REGNUM, 97 TILEGX_US1_REGNUM, 98 TILEGX_US2_REGNUM, 99 TILEGX_US3_REGNUM, 100 TILEGX_ZERO_REGNUM, 101 102 TILEGX_PC_REGNUM, 103 TILEGX_NUM_PHYS_REGS = TILEGX_PC_REGNUM, /* 64 */ 104 TILEGX_FAULTNUM_REGNUM, 105 TILEGX_NUM_REGS, /* 66 */ 106 }; 107 108 enum { tilegx_reg_size = 8 }; 109 110 #endif /* tilegx-tdep.h */ 111