* remote-e7000.c (e7000_wait): Cope with H8/300 register dump.
authorSteve Chamberlain <sac@cygnus>
Tue, 23 Nov 1993 07:49:49 +0000 (07:49 +0000)
committerSteve Chamberlain <sac@cygnus>
Tue, 23 Nov 1993 07:49:49 +0000 (07:49 +0000)
* config/h8300/h8300hms.mt: Add remote-e7000.

gdb/config/h8300/h8300hms.mt
gdb/config/h8300/tm-h8300.h

index b2476cacec2f9e40821b1d83155df328966575e0..53172feffb5c8ba5107c07330068b12523e36177 100644 (file)
@@ -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
index 6bb576d36829bfef344b8c46d1996b92780ec695..c80df2f4bd6ba966a21a022c1cb8face197251c0 100644 (file)
@@ -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}