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