1*02f41505Schristos /* This file defines the interface between the FR-V simulator and GDB. 2*02f41505Schristos 3*02f41505Schristos Copyright (C) 2003-2024 Free Software Foundation, Inc. 4*02f41505Schristos 5*02f41505Schristos Contributed by Red Hat. 6*02f41505Schristos 7*02f41505Schristos This file is part of GDB. 8*02f41505Schristos 9*02f41505Schristos This program is free software; you can redistribute it and/or modify 10*02f41505Schristos it under the terms of the GNU General Public License as published by 11*02f41505Schristos the Free Software Foundation; either version 3 of the License, or 12*02f41505Schristos (at your option) any later version. 13*02f41505Schristos 14*02f41505Schristos This program is distributed in the hope that it will be useful, 15*02f41505Schristos but WITHOUT ANY WARRANTY; without even the implied warranty of 16*02f41505Schristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*02f41505Schristos GNU General Public License for more details. 18*02f41505Schristos 19*02f41505Schristos You should have received a copy of the GNU General Public License 20*02f41505Schristos along with this program. If not, see <http://www.gnu.org/licenses/>. */ 21*02f41505Schristos 22*02f41505Schristos #if !defined (SIM_FRV_H) 23*02f41505Schristos #define SIM_FRV_H 24*02f41505Schristos 25*02f41505Schristos enum sim_frv_regs 26*02f41505Schristos { 27*02f41505Schristos SIM_FRV_GR0_REGNUM = 0, 28*02f41505Schristos SIM_FRV_GR63_REGNUM = 63, 29*02f41505Schristos SIM_FRV_FR0_REGNUM = 64, 30*02f41505Schristos SIM_FRV_FR63_REGNUM = 127, 31*02f41505Schristos SIM_FRV_PC_REGNUM = 128, 32*02f41505Schristos 33*02f41505Schristos /* An FR-V architecture may have up to 4096 special purpose registers 34*02f41505Schristos (SPRs). In order to determine a specific constant used to access 35*02f41505Schristos a particular SPR, one of the H_SPR_ prefixed offsets defined in 36*02f41505Schristos opcodes/frv-desc.h should be added to SIM_FRV_SPR0_REGNUM. So, 37*02f41505Schristos for example, the number that GDB uses to fetch the link register 38*02f41505Schristos from the simulator is (SIM_FRV_SPR0_REGNUM + H_SPR_LR). */ 39*02f41505Schristos SIM_FRV_SPR0_REGNUM = 129, 40*02f41505Schristos SIM_FRV_SPR4095_REGNUM = SIM_FRV_SPR0_REGNUM + 4095 41*02f41505Schristos }; 42*02f41505Schristos 43*02f41505Schristos #endif 44