diff options
author | Dave Brolley <brolley@redhat.com> | 2002-06-21 21:19:58 +0000 |
---|---|---|
committer | Dave Brolley <brolley@redhat.com> | 2002-06-21 21:19:58 +0000 |
commit | 456f8b9d8d66a45511237491f9d8c3c58d3e0359 (patch) | |
tree | 52b0f13e95fc5890ad9e4a533a067bdbd87a6f0d /gdb/config/frv | |
parent | cdd463f97d7016a849e03a71368b3aef42993afd (diff) | |
download | gdb-456f8b9d8d66a45511237491f9d8c3c58d3e0359.zip gdb-456f8b9d8d66a45511237491f9d8c3c58d3e0359.tar.gz gdb-456f8b9d8d66a45511237491f9d8c3c58d3e0359.tar.bz2 |
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.
Diffstat (limited to 'gdb/config/frv')
-rw-r--r-- | gdb/config/frv/frv.mt | 5 | ||||
-rw-r--r-- | gdb/config/frv/tm-frv.h | 62 |
2 files changed, 67 insertions, 0 deletions
diff --git a/gdb/config/frv/frv.mt b/gdb/config/frv/frv.mt new file mode 100644 index 0000000..07fc4e7 --- /dev/null +++ b/gdb/config/frv/frv.mt @@ -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 diff --git a/gdb/config/frv/tm-frv.h b/gdb/config/frv/tm-frv.h new file mode 100644 index 0000000..40a2480 --- /dev/null +++ b/gdb/config/frv/tm-frv.h @@ -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); |