26#include "gdbsupport/x86-xstate.h"
344#define I386_NUM_GREGS 16
345#define I386_NUM_XREGS 9
347#define I386_SSE_NUM_REGS (I386_MXCSR_REGNUM + 1)
348#define I386_AVX_NUM_REGS (I386_YMM7H_REGNUM + 1)
349#define I386_MPX_NUM_REGS (I386_BNDSTATUS_REGNUM + 1)
350#define I386_AVX512_NUM_REGS (I386_ZMM7H_REGNUM + 1)
351#define I386_PKEYS_NUM_REGS (I386_PKRU_REGNUM + 1)
352#define I386_NUM_REGS (I386_GSBASE_REGNUM + 1)
355#define I386_MAX_REGISTER_SIZE 64
382 struct value *result);
386 int regnum,
const gdb_byte *buf);
393#define I386_SEL_RPL 0x0003
394#define I386_SEL_UPL 0x0003
395#define I386_SEL_KPL 0x0000
399#define I386_MAX_INSN_LEN (16)
403 CORE_ADDR pc,
char *
name);
410 struct value *function,
413 int nargs,
struct value **args,
417 CORE_ADDR struct_addr,
432 const void *gregs,
size_t len);
455 CORE_ADDR from, CORE_ADDR to,
regcache *regs,
bool completed_p);
std::unique_ptr< displaced_step_copy_insn_closure > displaced_step_copy_insn_closure_up
int gdbarch_register_reggroup_p_ftype(struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup)
void iterate_over_regset_sections_cb(const char *sect_name, int supply_size, int collect_size, const struct regset *regset, const char *human_name, void *cb_data)
function_call_return_method
int i386_svr4_reg_to_regnum(struct gdbarch *gdbarch, int reg)
void i386_iterate_over_regset_sections(struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
bool i386_pkru_regnum_p(struct gdbarch *gdbarch, int regnum)
void i386_displaced_step_fixup(struct gdbarch *gdbarch, displaced_step_copy_insn_closure *closure, CORE_ADDR from, CORE_ADDR to, regcache *regs, bool completed_p)
int i386_process_record(struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr)
int i386_sigtramp_p(frame_info_ptr this_frame)
int i386_bnd_regnum_p(struct gdbarch *gdbarch, int regnum)
int i386bsd_sc_reg_offset[]
int i386_zmm_regnum_p(struct gdbarch *gdbarch, int regnum)
struct type * i387_ext_type(struct gdbarch *gdbarch)
const char * i386_pseudo_register_name(struct gdbarch *gdbarch, int regnum)
CORE_ADDR i386obsd_sigtramp_end_addr
int i386_register_reggroup_p(struct gdbarch *gdbarch, int regnum, const struct reggroup *group)
int i386_fpc_regnum_p(struct gdbarch *, int)
const struct regset i386_fpregset
int i386_stap_is_single_operand(struct gdbarch *gdbarch, const char *s)
int i386_dword_regnum_p(struct gdbarch *gdbarch, int regnum)
CORE_ADDR i386obsd_sigtramp_start_addr
const struct regset i386_gregset
int i386_ymm_avx512_regnum_p(struct gdbarch *gdbarch, int regnum)
int i386_k_regnum_p(struct gdbarch *gdbarch, int regnum)
void i386_elf_init_abi(struct gdbarch_info, struct gdbarch *)
const struct target_desc * i386_target_description(uint64_t xcr0, bool segments)
void i386_svr4_init_abi(struct gdbarch_info, struct gdbarch *)
int i386_ymm_regnum_p(struct gdbarch *gdbarch, int regnum)
int i386_fp_regnum_p(struct gdbarch *, int)
void i386bsd_init_abi(struct gdbarch_info, struct gdbarch *)
void i386_pseudo_register_write(struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf)
CORE_ADDR i386_thiscall_push_dummy_call(struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, function_call_return_method return_method, CORE_ADDR struct_addr, bool thiscall)
displaced_step_copy_insn_closure_up i386_displaced_step_copy_insn(struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
CORE_ADDR i386_pe_skip_trampoline_code(frame_info_ptr frame, CORE_ADDR pc, char *name)
int i386obsd_sc_reg_offset[]
buf_displaced_step_copy_insn_closure i386_displaced_step_copy_insn_closure
int i386_xmm_avx512_regnum_p(struct gdbarch *gdbarch, int regnum)
CORE_ADDR i386_skip_main_prologue(struct gdbarch *gdbarch, CORE_ADDR pc)
int i386_byte_regnum_p(struct gdbarch *gdbarch, int regnum)
int i386_xmm_regnum_p(struct gdbarch *gdbarch, int regnum)
@ X86_RECORD_EFLAGS_REGNUM
int i386_ax_pseudo_register_collect(struct gdbarch *gdbarch, struct agent_expr *ax, int regnum)
void i386_pseudo_register_read_into_value(struct gdbarch *gdbarch, readable_regcache *regcache, int regnum, struct value *result)
expr::operation_up i386_stap_parse_special_token(struct gdbarch *gdbarch, struct stap_parse_info *p)
void i386_supply_gregset(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
int i386_word_regnum_p(struct gdbarch *gdbarch, int regnum)
int i386_zmmh_regnum_p(struct gdbarch *gdbarch, int regnum)
int i386_mpx_enabled(void)
struct type * i386_pseudo_register_type(struct gdbarch *gdbarch, int regnum)
std::unique_ptr< operation > operation_up
const char *const * mpx_register_names
struct type * i386_bnd_type
const struct regset * fpregset
const char *const * ymm_avx512_register_names
const char *const * zmmh_register_names
struct type * i387_ext_type
int(* i386_syscall_record)(struct regcache *regcache)
const char *const * k_register_names
struct type * i386_mmx_type
int(* i386_intx80_record)(struct regcache *regcache)
const char *const * register_names
int(* sigtramp_p)(frame_info_ptr)
const char *const * xmm_avx512_register_names
x86_xsave_layout xsave_layout
gdbarch_register_reggroup_p_ftype * register_reggroup_p
CORE_ADDR(* sigcontext_addr)(frame_info_ptr)
const char *const * pkeys_register_names
const char *const * ymmh_register_names
struct type * i386_zmm_type
const struct target_desc * tdesc
const int * record_regmap
int(* i386_sysenter_record)(struct regcache *regcache)
struct type * i386_ymm_type
const char *const * ymm16h_register_names