sim-h8300.h new file
authorAndrey Volkov <avolkov@transas.com>
Tue, 23 Jul 2002 10:30:14 +0000 (10:30 +0000)
committerAndrey Volkov <avolkov@transas.com>
Tue, 23 Jul 2002 10:30:14 +0000 (10:30 +0000)
include/gdb/ChangeLog
include/gdb/sim-h8300.h [new file with mode: 0644]

index 10d6c29..5fe296d 100644 (file)
@@ -1,3 +1,7 @@
+2002-07-23  Andrey Volkov  <avolkov@transas.com>
+
+       * sim-h8300.h: New file.
+
 2002-07-17  Andrew Cagney  <cagney@redhat.com>
 
        * remote-sim.h: Update copyright.
diff --git a/include/gdb/sim-h8300.h b/include/gdb/sim-h8300.h
new file mode 100644 (file)
index 0000000..10ec385
--- /dev/null
@@ -0,0 +1,75 @@
+/* This file defines the interface between the h8300 simulator and gdb.\r
+   Copyright (C) 2002 Free Software Foundation, Inc.\r
+\r
+This file is part of GDB.\r
+\r
+This program is free software; you can redistribute it and/or modify\r
+it under the terms of the GNU General Public License as published by\r
+the Free Software Foundation; either version 2 of the License, or\r
+(at your option) any later version.\r
+\r
+This program is distributed in the hope that it will be useful,\r
+but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+GNU General Public License for more details.\r
+\r
+You should have received a copy of the GNU General Public License\r
+along with this program; if not, write to the Free Software\r
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#if !defined (SIM_H8300_H)\r
+#define SIM_H8300_H\r
+\r
+#ifdef __cplusplus\r
+extern "C" { //}
+#endif
+  \r
+/* The simulator makes use of the following register information. */ \r
+  \r
+/* Registers common to all the H8 variants. */
+  enum sim_h8300_regs
+  {
+    H8300_R0_REGNUM = 0,
+    H8300_R1_REGNUM,
+    H8300_R2_REGNUM,
+    H8300_R3_REGNUM,
+    H8300_R4_REGNUM,
+    H8300_R5_REGNUM,
+    H8300_R6_REGNUM,
+    H8300_R7_REGNUM,
+
+    H8300_PC_REGNUM,   /* Contains program counter */
+    H8300_CCR_REGNUM,  /* Contains processor status */
+
+    H8300_S_EXR_REGNUM,        /* Contains extended processor status */
+    H8300_S_MACL_REGNUM,/* Lower part of MAC register */
+    H8300_S_MACH_REGNUM,/* High part of MAC register */
+
+    H8300_SIM_CYCLE_REGNUM,
+    H8300_SIM_INST_REGNUM,
+    H8300_SIM_TICK_REGNUM
+  };
+
+  enum
+  {
+    ARG_FIRST_REGNUM = H8300_R0_REGNUM,        /* first reg in which an arg 
+                                          may be passed */
+    ARG_LAST_REGNUM = H8300_R3_REGNUM, /* last  reg in which an arg 
+                                          may be passed */
+    H8300_FP_REGNUM = H8300_R6_REGNUM, /* Contain address of executing 
+                                          stack frame */
+    H8300_SP_REGNUM = H8300_R7_REGNUM  /* Contains address of top of stack */
+  };
+
+  enum
+  {
+    H8300_NUM_COMMON_REGS = 10,
+    H8300_S_NUM_REGS = 13,
+    H8300_NUM_SIM_REGS = 16
+  };
+
+#ifdef __cplusplus\r
+}
+#endif
\r
+#endif                         /* SIM_H8300_H */