xref: /netbsd-src/external/gpl3/binutils/dist/include/sim/sim-cr16.h (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
1*cb63e24eSchristos /* This file defines the interface between the cr16 simulator and gdb.
2*cb63e24eSchristos 
3*cb63e24eSchristos    Copyright (C) 2008-2024 Free Software Foundation, Inc.
4*cb63e24eSchristos 
5*cb63e24eSchristos    This file is part of GDB.
6*cb63e24eSchristos 
7*cb63e24eSchristos    This program is free software; you can redistribute it and/or modify
8*cb63e24eSchristos    it under the terms of the GNU General Public License as published by
9*cb63e24eSchristos    the Free Software Foundation; either version 3 of the License, or
10*cb63e24eSchristos    (at your option) any later version.
11*cb63e24eSchristos 
12*cb63e24eSchristos    This program is distributed in the hope that it will be useful,
13*cb63e24eSchristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
14*cb63e24eSchristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*cb63e24eSchristos    GNU General Public License for more details.
16*cb63e24eSchristos 
17*cb63e24eSchristos    You should have received a copy of the GNU General Public License
18*cb63e24eSchristos    along with this program; if not, see <http://www.gnu.org/licenses/>.  */
19*cb63e24eSchristos 
20*cb63e24eSchristos #if !defined (SIM_CR16_H)
21*cb63e24eSchristos #define SIM_CR16_H
22*cb63e24eSchristos 
23*cb63e24eSchristos /* The simulator makes use of the following register information. */
24*cb63e24eSchristos 
25*cb63e24eSchristos enum sim_cr16_regs
26*cb63e24eSchristos {
27*cb63e24eSchristos   SIM_CR16_R0_REGNUM,
28*cb63e24eSchristos   SIM_CR16_R1_REGNUM,
29*cb63e24eSchristos   SIM_CR16_R2_REGNUM,
30*cb63e24eSchristos   SIM_CR16_R3_REGNUM,
31*cb63e24eSchristos   SIM_CR16_R4_REGNUM,
32*cb63e24eSchristos   SIM_CR16_R5_REGNUM,
33*cb63e24eSchristos   SIM_CR16_R6_REGNUM,
34*cb63e24eSchristos   SIM_CR16_R7_REGNUM,
35*cb63e24eSchristos   SIM_CR16_R8_REGNUM,
36*cb63e24eSchristos   SIM_CR16_R9_REGNUM,
37*cb63e24eSchristos   SIM_CR16_R10_REGNUM,
38*cb63e24eSchristos   SIM_CR16_R11_REGNUM,
39*cb63e24eSchristos   SIM_CR16_R12_REGNUM,
40*cb63e24eSchristos   SIM_CR16_R13_REGNUM,
41*cb63e24eSchristos   SIM_CR16_R14_REGNUM,
42*cb63e24eSchristos   SIM_CR16_R15_REGNUM,
43*cb63e24eSchristos 
44*cb63e24eSchristos   SIM_CR16_PC_REGNUM,
45*cb63e24eSchristos   SIM_CR16_ISP_REGNUM,
46*cb63e24eSchristos   SIM_CR16_USP_REGNUM,
47*cb63e24eSchristos   SIM_CR16_INTBASE_REGNUM,
48*cb63e24eSchristos   SIM_CR16_PSR_REGNUM,
49*cb63e24eSchristos   SIM_CR16_CFG_REGNUM,
50*cb63e24eSchristos   SIM_CR16_DBS_REGNUM,
51*cb63e24eSchristos   SIM_CR16_DCR_REGNUM,
52*cb63e24eSchristos   SIM_CR16_DSR_REGNUM,
53*cb63e24eSchristos   SIM_CR16_CAR0_REGNUM,
54*cb63e24eSchristos   SIM_CR16_CAR1_REGNUM
55*cb63e24eSchristos };
56*cb63e24eSchristos 
57*cb63e24eSchristos enum
58*cb63e24eSchristos {
59*cb63e24eSchristos   SIM_CR16_NR_R_REGS = 16,
60*cb63e24eSchristos   SIM_CR16_NR_A_REGS = 2,
61*cb63e24eSchristos   SIM_CR16_NR_IMAP_REGS = 2,
62*cb63e24eSchristos   SIM_CR16_NR_DMAP_REGS = 4,
63*cb63e24eSchristos   SIM_CR16_NR_CR_REGS = 11
64*cb63e24eSchristos };
65*cb63e24eSchristos 
66*cb63e24eSchristos #endif
67