Enable XML target descriptions for x86.
[deliverable/binutils-gdb.git] / gdb / i386-tdep.h
index 5915eb91325e33cf7fbdbdfe395511a636089741..a64e5c386a4eada830b2c6351694b60ff7b4d6b3 100644 (file)
@@ -118,9 +118,21 @@ struct gdbarch_tdep
      of MMX support.  */
   int mm0_regnum;
 
+  /* Number of core registers.  */
+  int num_core_regs;
+
   /* Number of SSE registers.  */
   int num_xmm_regs;
 
+  /* Register names.  */
+  const char **register_names;
+
+  /* Target description.  */
+  const struct target_desc *tdesc;
+
+  /* Register group function.  */
+  const void *register_reggroup_p;
+
   /* Offset of saved PC in jmp_buf.  */
   int jb_pc_offset;
 
@@ -147,10 +159,7 @@ struct gdbarch_tdep
   int sc_sp_offset;
 
   /* ISA-specific data types.  */
-  struct type *i386_eflags_type;
-  struct type *i386_mxcsr_type;
   struct type *i386_mmx_type;
-  struct type *i386_sse_type;
   struct type *i387_ext_type;
 
   /* Process record/replay target.  */
@@ -196,7 +205,8 @@ enum i386_regnum
   I386_ES_REGNUM,              /* %es */
   I386_FS_REGNUM,              /* %fs */
   I386_GS_REGNUM,              /* %gs */
-  I386_ST0_REGNUM              /* %st(0) */
+  I386_ST0_REGNUM,             /* %st(0) */
+  I386_MXCSR_REGNUM = 40       /* %mxcsr */ 
 };
 
 /* Register numbers of RECORD_REGMAP.  */
@@ -230,20 +240,14 @@ enum record_i386_regnum
 };
 
 #define I386_NUM_GREGS 16
-#define I386_NUM_FREGS 16
 #define I386_NUM_XREGS  9
 
-#define I386_SSE_NUM_REGS      (I386_NUM_GREGS + I386_NUM_FREGS \
-                                + I386_NUM_XREGS)
+#define I386_SSE_NUM_REGS      (I386_MXCSR_REGNUM + 1)
 
 /* Size of the largest register.  */
 #define I386_MAX_REGISTER_SIZE 16
 
 /* Types for i386-specific registers.  */
-extern struct type *i386_eflags_type (struct gdbarch *gdbarch);
-extern struct type *i386_mxcsr_type (struct gdbarch *gdbarch);
-extern struct type *i386_mmx_type (struct gdbarch *gdbarch);
-extern struct type *i386_sse_type (struct gdbarch *gdbarch);
 extern struct type *i387_ext_type (struct gdbarch *gdbarch);
 
 /* Segment selectors.  */
@@ -263,9 +267,6 @@ extern CORE_ADDR i386_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 /* Return whether the THIS_FRAME corresponds to a sigtramp routine.  */
 extern int i386_sigtramp_p (struct frame_info *this_frame);
 
-/* Return the name of register REGNUM.  */
-extern char const *i386_register_name (struct gdbarch * gdbarch, int regnum);
-
 /* Return non-zero if REGNUM is a member of the specified group.  */
 extern int i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
                                     struct reggroup *group);
This page took 0.058695 seconds and 4 git commands to generate.