This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFC/RFA] Mutliarch h8300 step 1
- From: Andrew Cagney <ac131313 at ges dot redhat dot com>
- To: Andrew Volkov <Andrew dot Volkov at transas dot com>
- Cc: =?KOI8-R?Q?=22Gdb-Patches_=28=FC=CC=2E_=D0=CF=DE=D4=C1=29=22?= <gdb-patches at sources dot redhat dot com>,Elena Zannoni <ezannoni at redhat dot com>
- Date: Tue, 20 Aug 2002 18:18:31 -0400
- Subject: Re: [RFC/RFA] Mutliarch h8300 step 1
- References: <2E74F312D6980D459F3A05492BA40F8D0123026E@clue.transas.com>
FYI,
The below has been superseeded by changes in the target vector -- these
methods now belong in there (in remote-e7000.h?). I'm not sure how you
would want to integrate this though.
Andrew
+/* tell gdb that there is breakpoint/watchpoint hardware in some h8300's */
+
+#define TARGET_HAS_HARDWARE_WATCHPOINTS 1
+
+int h8300_can_use_hw_wp(int type, int cnt, int other_type);
+#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(TYPE,CNT,OTHERTYPE) \
+h8300_can_use_hw_wp(TYPE,CNT,OTHERTYPE)
+
+int h8300_target_region_ok_for_hw_wp(CORE_ADDR addr, int len);
+#define TARGET_REGION_OK_FOR_HW_WATCHPOINT(addr,len) \
+h8300_target_region_ok_for_hw_wp(addr,len)
+
+int h8300_target_range_profitable_for_hw_watchpoint(int pid,CORE_ADDR
start, in
t len);
+#define TARGET_RANGE_PROFITABLE_FOR_HW_WATCHPOINT(pid,start,len) \
+h8300_target_range_profitable_for_hw_watchpoint(pid,start,len)
+
+int h8300_have_continuable_watchpoint(void);
+#define HAVE_CONTINUABLE_WATCHPOINT h8300_have_continuable_watchpoint()
+
+int h8300_have_steppable_watchpoint(void);
+#define HAVE_STEPPABLE_WATCHPOINT h8300_have_steppable_watchpoint()
+
+int h8300_insert_watchpoint(CORE_ADDR addr, int len, int type);
+#define target_insert_watchpoint(addr, len, type) \
+h8300_insert_watchpoint(addr, len, type)
+
+int h8300_remove_watchpoint(CORE_ADDR addr, int len, int type);
+#define target_remove_watchpoint(addr, len, type) \
+h8300_remove_watchpoint(addr, len, type)
+
+int h8300_insert_hw_breakpoint(CORE_ADDR addr, char *shadow);
+#define target_insert_hw_breakpoint(addr, shadow)
h8300_insert_hw_breakpoint(ad
dr, shadow)
+
+int h8300_remove_hw_breakpoint(CORE_ADDR addr, char *shadow);
+#define target_remove_hw_breakpoint(addr, shadow)
h8300_remove_hw_breakpoint(ad
dr, shadow)
+
+#endif