Commit | Line | Data |
---|---|---|
a7df09ae | 1 | /* This file defines the interface between the h8300 simulator and gdb. |
42a4f53d | 2 | Copyright (C) 2002-2019 Free Software Foundation, Inc. |
a7df09ae | 3 | |
1d52ba21 | 4 | This file is part of GDB. |
a7df09ae | 5 | |
1d52ba21 JB |
6 | This program is free software; you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by | |
8 | the Free Software Foundation; either version 3 of the License, or | |
9 | (at your option) any later version. | |
a7df09ae | 10 | |
1d52ba21 JB |
11 | This program is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
a7df09ae | 15 | |
1d52ba21 JB |
16 | You should have received a copy of the GNU General Public License |
17 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | |
88ff637d | 18 | |
a7df09ae KH |
19 | #if !defined (SIM_H8300_H) |
20 | #define SIM_H8300_H | |
21 | ||
a7df09ae KH |
22 | /* The simulator makes use of the following register information. */ |
23 | ||
c4d4ed40 | 24 | enum sim_h8300_regs |
88ff637d | 25 | { |
467e9706 AV |
26 | /* Registers common to all the H8 variants. */ |
27 | /* Start here: */ | |
a7df09ae | 28 | SIM_H8300_R0_REGNUM, |
467e9706 AV |
29 | SIM_H8300_R1_REGNUM, |
30 | SIM_H8300_R2_REGNUM, | |
31 | SIM_H8300_R3_REGNUM, | |
32 | SIM_H8300_R4_REGNUM, | |
33 | SIM_H8300_R5_REGNUM, | |
34 | SIM_H8300_R6_REGNUM, | |
35 | SIM_H8300_R7_REGNUM, | |
88ff637d | 36 | |
467e9706 AV |
37 | SIM_H8300_CCR_REGNUM, /* Contains processor status */ |
38 | SIM_H8300_PC_REGNUM, /* Contains program counter */ | |
39 | /* End here */ | |
a7df09ae KH |
40 | |
41 | SIM_H8300_EXR_REGNUM, /* Contains extended processor status | |
467e9706 AV |
42 | H8S and higher */ |
43 | SIM_H8300_MACL_REGNUM, /* Lower part of MAC register (26xx only)*/ | |
44 | SIM_H8300_MACH_REGNUM, /* High part of MAC register (26xx only) */ | |
88ff637d | 45 | |
467e9706 AV |
46 | SIM_H8300_CYCLE_REGNUM, |
47 | SIM_H8300_INST_REGNUM, | |
48 | SIM_H8300_TICK_REGNUM | |
88ff637d AV |
49 | }; |
50 | ||
c4d4ed40 | 51 | enum |
88ff637d | 52 | { |
a7df09ae | 53 | SIM_H8300_ARG_FIRST_REGNUM = SIM_H8300_R0_REGNUM, /* first reg in which an arg |
467e9706 | 54 | may be passed */ |
a7df09ae KH |
55 | SIM_H8300_ARG_LAST_REGNUM = SIM_H8300_R3_REGNUM, /* last reg in which an arg |
56 | may be passed */ | |
57 | SIM_H8300_FP_REGNUM = SIM_H8300_R6_REGNUM, /* Contain address of executing | |
467e9706 AV |
58 | stack frame */ |
59 | SIM_H8300_SP_REGNUM = SIM_H8300_R7_REGNUM /* Contains address of top of stack */ | |
88ff637d AV |
60 | }; |
61 | ||
c4d4ed40 | 62 | enum |
88ff637d | 63 | { |
467e9706 AV |
64 | SIM_H8300_NUM_COMMON_REGS = 10, |
65 | SIM_H8300_S_NUM_REGS = 13, | |
66 | SIM_H8300_NUM_REGS = 16 | |
88ff637d AV |
67 | }; |
68 | ||
88ff637d | 69 | #endif /* SIM_H8300_H */ |