2002-06-21 Dave Brolley <brolley@redhat.com>

From Stan Shebs, Jim Blandy, Mark Salter, Kevin Buettner:
	* config/frv/frv.mt: New file.
	* config/frv/tm-frv.h: New file.
	* configure.tgt: Support frv-*-*.
	* Makefile.in (frv-tdep.o): New target.
	* frv-tdep.c: New file.
	* NEWS: Mention frv.
This commit is contained in:
Dave Brolley 2002-06-21 21:19:58 +00:00
parent cdd463f97d
commit 456f8b9d8d
7 changed files with 1257 additions and 0 deletions

View file

@ -1,3 +1,13 @@
2002-06-21 Dave Brolley <brolley@redhat.com>
From Stan Shebs, Jim Blandy, Mark Salter, Kevin Buettner:
* config/frv/frv.mt: New file.
* config/frv/tm-frv.h: New file.
* configure.tgt: Support frv-*-*.
* Makefile.in (frv-tdep.o): New target.
* frv-tdep.c: New file.
* NEWS: Mention frv.
2002-06-21 Dave Brolley <brolley@redhat.com>
* MAINTAINERS: Add self to "Write After Approval" list.

View file

@ -1487,6 +1487,9 @@ findvar.o: findvar.c $(defs_h) $(gdbcore_h) $(inferior_h) $(target_h) \
frame.o: frame.c $(defs_h) $(frame_h) $(target_h) $(value_h) $(inferior_h) \
$(regcache_h)
frv-tdep.o: frv-tdep.c $(defs_h) $(inferior_h) $(symfile_h) $(gdbcore_h) \
$(arch_utils_h) $(regcache_h)
regcache.o: regcache.c $(defs_h) $(inferior_h) $(target_h) $(regcache_h)
fork-child.o: fork-child.c $(gdb_wait_h) $(defs_h) $(gdbcore_h) \

View file

@ -41,6 +41,8 @@ National Semiconductor NS32000 (partial) ns32k-*-*
* New targets.
Atmel AVR avr*-*-*
Fujitsu FRV architecture added by Red Hat frv*-*-*
* New native configurations

5
gdb/config/frv/frv.mt Normal file
View file

@ -0,0 +1,5 @@
# Target: Fujitsu FRV processor
TDEPFILES= frv-tdep.o
TM_FILE= tm-frv.h
#SIM_OBS = remote-sim.o
#SIM = ../sim/frv/libsim.a

62
gdb/config/frv/tm-frv.h Normal file
View file

@ -0,0 +1,62 @@
/* Target definitions for the Fujitsu FR-V, for GDB, the GNU Debugger.
Copyright 2000 Free Software Foundation, Inc.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* This target uses an architecture vector for most architecture methods. */
#define GDB_MULTI_ARCH GDB_MULTI_ARCH_PARTIAL
#define TARGET_HW_BREAK_LIMIT 4
#define TARGET_HW_WATCH_LIMIT 4
#define TARGET_HAS_HARDWARE_WATCHPOINTS
#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) \
frv_check_watch_resources (type, cnt, ot)
extern int frv_check_watch_resources (int type, int cnt, int ot);
/* When a hardware watchpoint fires off the PC will be left at the
instruction which caused the watchpoint. It will be necessary for
GDB to step over the watchpoint. */
/*#define HAVE_STEPPABLE_WATCHPOINT 1*/
#define STOPPED_BY_WATCHPOINT(W) \
((W).kind == TARGET_WAITKIND_STOPPED \
&& (W).value.sig == TARGET_SIGNAL_TRAP \
&& (frv_stopped_data_address() != ((CORE_ADDR)0)))
extern CORE_ADDR frv_stopped_data_address(void);
/* Use these macros for watchpoint insertion/deletion. */
#define target_insert_watchpoint(addr, len, type) \
remote_insert_watchpoint (addr, len, type)
#define target_remove_watchpoint(addr, len, type) \
remote_remove_watchpoint (addr, len, type)
#define target_insert_hw_breakpoint(addr, shadow) \
remote_insert_hw_breakpoint (addr, 1)
#define target_remove_hw_breakpoint(addr, shadow) \
remote_remove_hw_breakpoint (addr, 1)
#define target_stopped_data_address() frv_stopped_data_address()
/* These declarations should be in remote.h, no? */
extern int remote_insert_watchpoint (CORE_ADDR addr, int len, int type);
extern int remote_remove_watchpoint (CORE_ADDR addr, int len, int type);
extern int remote_insert_hw_breakpoint (CORE_ADDR addr, int len);
extern int remote_remove_hw_breakpoint (CORE_ADDR addr, int len);

View file

@ -74,6 +74,7 @@ h8500-*-*) gdb_target=h8500 ;;
fr30-*-elf*) gdb_target=fr30 ;;
frv-*-*) gdb_target=frv ;;
hppa*-*-bsd*) gdb_target=hppabsd ;;
hppa*-*-pro*) gdb_target=hppapro ;;

1174
gdb/frv-tdep.c Normal file

File diff suppressed because it is too large Load diff