GDB (API)
|
00001 /* This file defines the interface between the h8300 simulator and gdb. 00002 Copyright (C) 2002-2013 Free Software Foundation, Inc. 00003 00004 This file is part of GDB. 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00018 00019 #if !defined (SIM_H8300_H) 00020 #define SIM_H8300_H 00021 00022 #ifdef __cplusplus 00023 extern "C" { //} 00024 #endif 00025 00026 /* The simulator makes use of the following register information. */ 00027 00028 enum sim_h8300_regs 00029 { 00030 /* Registers common to all the H8 variants. */ 00031 /* Start here: */ 00032 SIM_H8300_R0_REGNUM, 00033 SIM_H8300_R1_REGNUM, 00034 SIM_H8300_R2_REGNUM, 00035 SIM_H8300_R3_REGNUM, 00036 SIM_H8300_R4_REGNUM, 00037 SIM_H8300_R5_REGNUM, 00038 SIM_H8300_R6_REGNUM, 00039 SIM_H8300_R7_REGNUM, 00040 00041 SIM_H8300_CCR_REGNUM, /* Contains processor status */ 00042 SIM_H8300_PC_REGNUM, /* Contains program counter */ 00043 /* End here */ 00044 00045 SIM_H8300_EXR_REGNUM, /* Contains extended processor status 00046 H8S and higher */ 00047 SIM_H8300_MACL_REGNUM, /* Lower part of MAC register (26xx only)*/ 00048 SIM_H8300_MACH_REGNUM, /* High part of MAC register (26xx only) */ 00049 00050 SIM_H8300_CYCLE_REGNUM, 00051 SIM_H8300_INST_REGNUM, 00052 SIM_H8300_TICK_REGNUM 00053 }; 00054 00055 enum 00056 { 00057 SIM_H8300_ARG_FIRST_REGNUM = SIM_H8300_R0_REGNUM, /* first reg in which an arg 00058 may be passed */ 00059 SIM_H8300_ARG_LAST_REGNUM = SIM_H8300_R3_REGNUM, /* last reg in which an arg 00060 may be passed */ 00061 SIM_H8300_FP_REGNUM = SIM_H8300_R6_REGNUM, /* Contain address of executing 00062 stack frame */ 00063 SIM_H8300_SP_REGNUM = SIM_H8300_R7_REGNUM /* Contains address of top of stack */ 00064 }; 00065 00066 enum 00067 { 00068 SIM_H8300_NUM_COMMON_REGS = 10, 00069 SIM_H8300_S_NUM_REGS = 13, 00070 SIM_H8300_NUM_REGS = 16 00071 }; 00072 00073 #ifdef __cplusplus 00074 } 00075 #endif 00076 00077 #endif /* SIM_H8300_H */