aboutsummaryrefslogtreecommitdiff
path: root/gdb/config
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1993-11-23 07:49:49 +0000
committerSteve Chamberlain <sac@cygnus>1993-11-23 07:49:49 +0000
commite8437082beb948cc6703518ddffb6546652e3aa1 (patch)
tree7dce1f45f7cd8aefa0e4f5ff0507e2252d494254 /gdb/config
parentabb324b2c9c08cd68965a52476de1d61013dda16 (diff)
downloadgdb-e8437082beb948cc6703518ddffb6546652e3aa1.zip
gdb-e8437082beb948cc6703518ddffb6546652e3aa1.tar.gz
gdb-e8437082beb948cc6703518ddffb6546652e3aa1.tar.bz2
* remote-e7000.c (e7000_wait): Cope with H8/300 register dump.
* config/h8300/h8300hms.mt: Add remote-e7000.
Diffstat (limited to 'gdb/config')
-rw-r--r--gdb/config/h8300/h8300hms.mt4
-rw-r--r--gdb/config/h8300/tm-h8300.h38
2 files changed, 13 insertions, 29 deletions
diff --git a/gdb/config/h8300/h8300hms.mt b/gdb/config/h8300/h8300hms.mt
index b2476ca..53172fe 100644
--- a/gdb/config/h8300/h8300hms.mt
+++ b/gdb/config/h8300/h8300hms.mt
@@ -1,3 +1,3 @@
-# Target: H8300 with HMS monitor and H8 simulator
-TDEPFILES= exec.o h8300-tdep.o remote-hms.o remote-sim.o ../sim/h8300/compile.o
+# Target: H8300 with HMS monitor, E7000 ICE and H8 simulator
+TDEPFILES= exec.o h8300-tdep.o remote-e7000.o remote-hms.o remote-sim.o ../sim/h8300/compile.o
TM_FILE= tm-h8300.h
diff --git a/gdb/config/h8300/tm-h8300.h b/gdb/config/h8300/tm-h8300.h
index 6bb576d..c80df2f 100644
--- a/gdb/config/h8300/tm-h8300.h
+++ b/gdb/config/h8300/tm-h8300.h
@@ -19,8 +19,12 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Contributed by Steve Chamberlain sac@cygnus.com */
+
+/* 1 if debugging H8/300H application */
extern int h8300hmode;
+/* Number of bytes in a word */
+
#define BINWORD (h8300hmode?4:2)
#define EXTRA_FRAME_INFO \
@@ -78,7 +82,7 @@ extern CORE_ADDR h8300_skip_prologue ();
/* If your kernel resets the pc after the trap happens you may need to
define this before including this file. */
-#define DECR_PC_AFTER_BREAK 0
+#define DECR_PC_AFTER_BREAK 2
/* Nonzero if instruction at PC is a return instruction. */
/* Allow any of the return instructions, including a trapv and a return
@@ -94,11 +98,7 @@ extern CORE_ADDR h8300_skip_prologue ();
#define REGISTER_TYPE unsigned short
-#if 0
-# define NUM_REGS 20 /* 20 for fake HW support */
-#else
#define NUM_REGS 13
-#endif
#define REGISTER_BYTES (NUM_REGS * 4)
@@ -134,15 +134,8 @@ extern CORE_ADDR h8300_skip_prologue ();
/* Initializer for an array of names of registers.
Entries beyond the first NUM_REGS are ignored. */
-#if NUM_REGS==20
-#define REGISTER_NAMES \
- {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "sp",\
- "ccr","pc","cycles","hcheck","tier","tcsr","frc",\
- "ocra","ocrb","tcr","tocr","icra"}
-#else
#define REGISTER_NAMES \
{"r0", "r1", "r2", "r3", "r4", "r5", "r6", "sp", "ccr","pc","cycles","tick","inst"}
-#endif
/* Register numbers of various important registers.
Note that some of these values are "real" register numbers,
@@ -156,15 +149,10 @@ extern CORE_ADDR h8300_skip_prologue ();
#define CCR_REGNUM 8 /* Contains processor status */
#define PC_REGNUM 9 /* Contains program counter */
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-/*#define STORE_STRUCT_RETURN(ADDR, SP) \
- { write_register (0, (ADDR)); abort(); }*/
-
/* Extract from an array REGBUF containing the (raw) register state
a function return value of type TYPE, and copy that, in virtual format,
into VALBUF. */
+
/* FIXME: Won't work with both h8/300's. */
#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
@@ -258,16 +246,12 @@ extern CORE_ADDR h8300_skip_prologue ();
#define POP_FRAME { h8300_pop_frame (); }
-#define SHORT_INT_MAX 32767
-#define SHORT_INT_MIN -32768
-
-#define BEFORE_MAIN_LOOP_HOOK \
- hms_before_main_loop();
-
typedef unsigned short INSN_WORD;
-#define ADDR_BITS_REMOVE(addr) ((addr) & 0xffff)
-
-#define DONT_USE_REMOTE
#define PRINT_REGISTER_HOOK(regno) print_register_hook(regno)
+
+#define GDB_TARGET_IS_H8300
+
+#define NUM_REALREGS 10
+#define NOP {0,0}