target.c: Add a cast and change a type
[deliverable/binutils-gdb.git] / gdb / arm-tdep.h
index f8ba122b35a34796b07ef1ff5438f5cfc57cfcd2..3e06f79dd492626a4a9d160f5998731d4322167f 100644 (file)
@@ -1,5 +1,5 @@
 /* Common target dependent code for GDB on ARM systems.
-   Copyright (C) 2002-2014 Free Software Foundation, Inc.
+   Copyright (C) 2002-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,44 +24,7 @@ struct gdbarch;
 struct regset;
 struct address_space;
 
-/* Register numbers of various important registers.  */
-
-enum gdb_regnum {
-  ARM_A1_REGNUM = 0,           /* first integer-like argument */
-  ARM_A4_REGNUM = 3,           /* last integer-like argument */
-  ARM_AP_REGNUM = 11,
-  ARM_IP_REGNUM = 12,
-  ARM_SP_REGNUM = 13,          /* Contains address of top of stack */
-  ARM_LR_REGNUM = 14,          /* address to return to from a function call */
-  ARM_PC_REGNUM = 15,          /* Contains program counter */
-  ARM_F0_REGNUM = 16,          /* first floating point register */
-  ARM_F3_REGNUM = 19,          /* last floating point argument register */
-  ARM_F7_REGNUM = 23,          /* last floating point register */
-  ARM_FPS_REGNUM = 24,         /* floating point status register */
-  ARM_PS_REGNUM = 25,          /* Contains processor status */
-  ARM_WR0_REGNUM,              /* WMMX data registers.  */
-  ARM_WR15_REGNUM = ARM_WR0_REGNUM + 15,
-  ARM_WC0_REGNUM,              /* WMMX control registers.  */
-  ARM_WCSSF_REGNUM = ARM_WC0_REGNUM + 2,
-  ARM_WCASF_REGNUM = ARM_WC0_REGNUM + 3,
-  ARM_WC7_REGNUM = ARM_WC0_REGNUM + 7,
-  ARM_WCGR0_REGNUM,            /* WMMX general purpose registers.  */
-  ARM_WCGR3_REGNUM = ARM_WCGR0_REGNUM + 3,
-  ARM_WCGR7_REGNUM = ARM_WCGR0_REGNUM + 7,
-  ARM_D0_REGNUM,               /* VFP double-precision registers.  */
-  ARM_D31_REGNUM = ARM_D0_REGNUM + 31,
-  ARM_FPSCR_REGNUM,
-
-  ARM_NUM_REGS,
-
-  /* Other useful registers.  */
-  ARM_FP_REGNUM = 11,          /* Frame register in ARM code, if used.  */
-  THUMB_FP_REGNUM = 7,         /* Frame register in Thumb code, if used.  */
-  ARM_NUM_ARG_REGS = 4, 
-  ARM_LAST_ARG_REGNUM = ARM_A4_REGNUM,
-  ARM_NUM_FP_ARG_REGS = 4,
-  ARM_LAST_FP_ARG_REGNUM = ARM_F3_REGNUM
-};
+#include "arch/arm.h"
 
 /* Size of integer registers.  */
 #define INT_REGISTER_SIZE              4
@@ -161,7 +124,10 @@ struct gdbarch_tdep
   enum arm_float_model fp_model; /* Floating point calling conventions.  */
 
   int have_fpa_registers;      /* Does the target report the FPA registers?  */
-  int have_vfp_registers;      /* Does the target report the VFP registers?  */
+  int have_wmmx_registers;     /* Does the target report the WMMX registers?  */
+  /* The number of VFP registers reported by the target.  It is zero
+     if VFP registers are not supported.  */
+  int vfp_register_count;
   int have_vfp_pseudos;                /* Are we synthesizing the single precision
                                   VFP registers?  */
   int have_neon_pseudos;       /* Are we synthesizing the quad precision
@@ -193,9 +159,6 @@ struct gdbarch_tdep
   /* Convention for returning structures.  */
   enum struct_return struct_return;
 
-  /* Cached core file helpers.  */
-  struct regset *gregset, *fpregset, *vfpregset;
-
   /* ISA-specific data types.  */
   struct type *arm_ext_type;
   struct type *neon_double_type;
@@ -344,9 +307,11 @@ extern int arm_process_record (struct gdbarch *gdbarch,
 /* Return the appropriate register set for the core section identified
    by SECT_NAME and SECT_SIZE.  */
 
-extern const struct regset *
-  armbsd_regset_from_core_section (struct gdbarch *gdbarch,
-                                  const char *sect_name, size_t sect_size);
+extern void
+  armbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
+                                      iterate_over_regset_sections_cb *cb,
+                                      void *cb_data,
+                                      const struct regcache *regcache);
 
 /* Target descriptions.  */
 extern struct target_desc *tdesc_arm_with_m;
This page took 0.025938 seconds and 4 git commands to generate.