From: Steve Chamberlain Date: Tue, 23 Nov 1993 07:49:49 +0000 (+0000) Subject: * remote-e7000.c (e7000_wait): Cope with H8/300 register dump. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e8437082beb948cc6703518ddffb6546652e3aa1;p=binutils-gdb.git * remote-e7000.c (e7000_wait): Cope with H8/300 register dump. * config/h8300/h8300hms.mt: Add remote-e7000. --- diff --git a/gdb/config/h8300/h8300hms.mt b/gdb/config/h8300/h8300hms.mt index b2476cacec2..53172feffb5 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 6bb576d3682..c80df2f4bd6 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}