gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / sh-tdep.h
index dfa928ef858dc06a4889d4b618ca31edabae926b..76e2e76e39bf6ffc07fe51a906626eeb2d65ad09 100644 (file)
@@ -1,6 +1,5 @@
 /* Target-specific definition for a Renesas Super-H.
-   Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-   2003, 2007, 2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 1993-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -20,9 +19,9 @@
 #ifndef SH_TDEP_H
 #define SH_TDEP_H
 
-/* Contributed by Steve Chamberlain sac@cygnus.com */
+/* Contributed by Steve Chamberlain sac@cygnus.com */
 
-/* Registers for all SH variants.  Used also by sh3-rom.c. */
+/* Registers for all SH variants.  Used also by sh3-rom.c.  */
 enum
   {
     R0_REGNUM = 0,
@@ -30,6 +29,7 @@ enum
     ARG0_REGNUM = 4,
     ARGLAST_REGNUM = 7,
     FP_REGNUM = 14,
+    PC_REGNUM = 16,
     PR_REGNUM = 17,
     GBR_REGNUM = 18,
     VBR_REGNUM = 19,
@@ -82,7 +82,35 @@ enum
     FV_LAST_REGNUM = 79
   };
 
-extern gdbarch_init_ftype sh64_gdbarch_init;
-extern void sh64_show_regs (struct frame_info *);
+/* This structure describes a register in a core-file.  */
+struct sh_corefile_regmap
+{
+  int regnum;
+  unsigned int offset;
+};
 
+struct gdbarch_tdep
+{
+  /* Non-NULL when debugging from a core file.  Provides the offset
+     where each general-purpose register is stored inside the associated
+     core file section.  */
+  struct sh_corefile_regmap *core_gregmap;
+  int sizeof_gregset;
+  /* Non-NULL when debugging from a core file and when FP registers are
+     available.  Provides the offset where each FP register is stored
+     inside the associated core file section.  */
+  struct sh_corefile_regmap *core_fpregmap;
+  int sizeof_fpregset;
+  /* ISA-specific data types.  */
+  struct type *sh_littlebyte_bigword_type;
+};
+
+extern const struct regset sh_corefile_gregset;
+
+void sh_corefile_supply_regset (const struct regset *regset,
+                               struct regcache *regcache,
+                               int regnum, const void *regs, size_t len);
+void sh_corefile_collect_regset (const struct regset *regset,
+                                const struct regcache *regcache,
+                                int regnum, void *regs, size_t len);
 #endif /* SH_TDEP_H */
This page took 0.025343 seconds and 4 git commands to generate.