gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / i387-tdep.h
index b4dc2b70edfda0ec55377ac5598dec2108ea660c..a92829fa86469843f69e670380544f5419a1720c 100644 (file)
@@ -1,6 +1,6 @@
 /* Target-dependent code for the i387.
 
-   Copyright (C) 2000-2016 Free Software Foundation, Inc.
+   Copyright (C) 2000-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -44,7 +44,9 @@ struct ui_file;
 #define I387_NUM_BND_REGS 4
 #define I387_NUM_MPX_CTRL_REGS 2
 #define I387_NUM_K_REGS 8
+#define I387_NUM_PKEYS_REGS 1
 
+#define I387_PKRU_REGNUM(tdep) ((tdep)->pkru_regnum)
 #define I387_K0_REGNUM(tdep) ((tdep)->k0_regnum)
 #define I387_NUM_ZMMH_REGS(tdep) ((tdep)->num_zmm_regs)
 #define I387_ZMM0H_REGNUM(tdep) ((tdep)->zmm0h_regnum)
@@ -79,6 +81,9 @@ struct ui_file;
 #define I387_XMM_AVX512_END_REGNUM(tdep) \
   (I387_XMM16_REGNUM (tdep) + I387_NUM_XMM_AVX512_REGS (tdep))
 
+#define I387_PKEYSEND_REGNUM(tdep) \
+  (I387_PKRU_REGNUM (tdep) + I387_NUM_PKEYS_REGS)
+
 /* Print out the i387 floating point state.  */
 
 extern void i387_print_float_info (struct gdbarch *gdbarch,
@@ -151,9 +156,19 @@ extern void i387_collect_fxsave (const struct regcache *regcache, int regnum,
 extern void i387_collect_xsave (const struct regcache *regcache,
                                int regnum, void *xsave, int gcore);
 
+/* Extract a bitset from XSAVE indicating which features are available in
+   the inferior, but not yet initialised.  */
+
+extern ULONGEST i387_xsave_get_clear_bv (struct gdbarch *gdbarch,
+                                        const void *xsave);
+
 /* Prepare the FPU stack in REGCACHE for a function return.  */
 
 extern void i387_return_value (struct gdbarch *gdbarch,
                               struct regcache *regcache);
 
+/* Set all bnd registers to the INIT state.  INIT state means
+   all memory range can be accessed.  */
+extern void i387_reset_bnd_regs (struct gdbarch *gdbarch,
+                                struct regcache *regcache);
 #endif /* i387-tdep.h */
This page took 0.028046 seconds and 4 git commands to generate.