GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "gdbthread.h"
#include "gdbcore.h"
#include "regcache.h"
#include "regset.h"
#include "target.h"
#include "linux-nat.h"
#include <sys/types.h>
#include <signal.h>
#include <sys/user.h>
#include <sys/ioctl.h>
#include <sys/uio.h>
#include "gdbsupport/gdb_wait.h"
#include <fcntl.h>
#include <sys/procfs.h>
#include "nat/gdb_ptrace.h"
#include "nat/linux-ptrace.h"
#include "inf-ptrace.h"
#include <algorithm>
#include <unordered_map>
#include <list>
#include "gregset.h"
#include "ppc-tdep.h"
#include "ppc-linux-tdep.h"
#include "elf/common.h"
#include "auxv.h"
#include "arch/ppc-linux-common.h"
#include "arch/ppc-linux-tdesc.h"
#include "nat/ppc-linux.h"
#include "linux-tdep.h"
#include "expop.h"
Go to the source code of this file.
Classes | |
struct | ppc_debug_info |
struct | ppc_hw_breakpoint |
struct | gdb_evrregset_t |
struct | arch_lwp_info |
class | ppc_linux_dreg_interface |
struct | ppc_linux_process_info |
struct | ppc_linux_nat_target |
struct | ppc_linux_nat_target::ptid_hash |
Typedefs | |
typedef char | gdb_vrregset_t[PPC_LINUX_SIZEOF_VRREGSET] |
typedef char | gdb_vsxregset_t[PPC_LINUX_SIZEOF_VSXREGSET] |
Functions | |
static int | ppc_register_u_addr (struct gdbarch *gdbarch, int regno) |
static void | fetch_vsx_registers (struct regcache *regcache, int tid, int regno) |
static void | fetch_altivec_registers (struct regcache *regcache, int tid, int regno) |
static void | get_spe_registers (int tid, struct gdb_evrregset_t *evrregset) |
static void | fetch_spe_register (struct regcache *regcache, int tid, int regno) |
static void | fetch_regset (struct regcache *regcache, int tid, int regset_id, int regsetsize, const struct regset *regset) |
static void | store_regset (const struct regcache *regcache, int tid, int regnum, int regset_id, int regsetsize, const struct regset *regset) |
static bool | check_regset (int tid, int regset_id, int regsetsize) |
static void | fetch_register (struct regcache *regcache, int tid, int regno) |
static int | fetch_all_gp_regs (struct regcache *regcache, int tid) |
static void | fetch_gp_regs (struct regcache *regcache, int tid) |
static int | fetch_all_fp_regs (struct regcache *regcache, int tid) |
static void | fetch_fp_regs (struct regcache *regcache, int tid) |
static void | fetch_ppc_registers (struct regcache *regcache, int tid) |
static void | store_vsx_registers (const struct regcache *regcache, int tid, int regno) |
static void | store_altivec_registers (const struct regcache *regcache, int tid, int regno) |
static void | set_spe_registers (int tid, struct gdb_evrregset_t *evrregset) |
static void | store_spe_register (const struct regcache *regcache, int tid, int regno) |
static void | store_register (const struct regcache *regcache, int tid, int regno) |
static int | store_all_gp_regs (const struct regcache *regcache, int tid, int regno) |
static void | store_gp_regs (const struct regcache *regcache, int tid, int regno) |
static int | store_all_fp_regs (const struct regcache *regcache, int tid, int regno) |
static void | store_fp_regs (const struct regcache *regcache, int tid, int regno) |
static void | store_ppc_registers (const struct regcache *regcache, int tid) |
void | supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregsetp) |
void | fill_gregset (const struct regcache *regcache, gdb_gregset_t *gregsetp, int regno) |
void | supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp) |
void | fill_fpregset (const struct regcache *regcache, gdb_fpregset_t *fpregsetp, int regno) |
void | _initialize_ppc_linux_nat () |
Variables | |
int | have_ptrace_getsetvsxregs = 1 |
int | have_ptrace_getvrregs = 1 |
int | have_ptrace_getsetevrregs = 1 |
int | have_ptrace_getsetregs = 1 |
int | have_ptrace_getsetfpregs = 1 |
static ppc_linux_nat_target | the_ppc_linux_nat_target |
#define PPC_BREAKPOINT_CONDITION_AND 0x1 |
Definition at line 126 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::calculate_dvc().
#define PPC_BREAKPOINT_CONDITION_AND_OR 0x3 |
Definition at line 129 of file ppc-linux-nat.c.
#define PPC_BREAKPOINT_CONDITION_BE | ( | n | ) | (1<<((n)+PPC_BREAKPOINT_CONDITION_BE_SHIFT)) |
Definition at line 132 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::calculate_dvc().
#define PPC_BREAKPOINT_CONDITION_BE_ALL 0x00ff0000 |
Definition at line 130 of file ppc-linux-nat.c.
#define PPC_BREAKPOINT_CONDITION_BE_SHIFT 16 |
Definition at line 131 of file ppc-linux-nat.c.
#define PPC_BREAKPOINT_CONDITION_EXACT 0x1 |
Definition at line 127 of file ppc-linux-nat.c.
#define PPC_BREAKPOINT_CONDITION_NONE 0x0 |
Definition at line 125 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::can_use_watchpoint_cond_accel(), ppc_linux_nat_target::create_watchpoint_request(), ppc_linux_nat_target::insert_hw_breakpoint(), ppc_linux_nat_target::insert_mask_watchpoint(), ppc_linux_nat_target::remove_hw_breakpoint(), and ppc_linux_nat_target::remove_mask_watchpoint().
#define PPC_BREAKPOINT_CONDITION_OR 0x2 |
Definition at line 128 of file ppc-linux-nat.c.
#define PPC_BREAKPOINT_MODE_EXACT 0x0 |
Definition at line 119 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::create_watchpoint_request(), ppc_linux_nat_target::insert_hw_breakpoint(), and ppc_linux_nat_target::remove_hw_breakpoint().
#define PPC_BREAKPOINT_MODE_MASK 0x3 |
Definition at line 122 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::insert_mask_watchpoint(), and ppc_linux_nat_target::remove_mask_watchpoint().
#define PPC_BREAKPOINT_MODE_RANGE_EXCLUSIVE 0x2 |
Definition at line 121 of file ppc-linux-nat.c.
#define PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE 0x1 |
Definition at line 120 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::create_watchpoint_request(), ppc_linux_nat_target::insert_hw_breakpoint(), and ppc_linux_nat_target::remove_hw_breakpoint().
#define PPC_BREAKPOINT_TRIGGER_EXECUTE 0x1 |
Definition at line 113 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::insert_hw_breakpoint(), ppc_linux_nat_target::low_stopped_data_address(), and ppc_linux_nat_target::remove_hw_breakpoint().
#define PPC_BREAKPOINT_TRIGGER_READ 0x2 |
Definition at line 114 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::get_trigger_type().
#define PPC_BREAKPOINT_TRIGGER_RW 0x6 |
Definition at line 116 of file ppc-linux-nat.c.
#define PPC_BREAKPOINT_TRIGGER_WRITE 0x4 |
Definition at line 115 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::get_trigger_type().
#define PPC_DEBUG_CURRENT_VERSION 1 |
Definition at line 149 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::create_watchpoint_request(), ppc_linux_nat_target::insert_hw_breakpoint(), ppc_linux_nat_target::insert_mask_watchpoint(), ppc_linux_nat_target::remove_hw_breakpoint(), and ppc_linux_nat_target::remove_mask_watchpoint().
#define PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 0x20 |
Definition at line 144 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::region_ok_for_hw_watchpoint().
#define PPC_DEBUG_FEATURE_DATA_BP_DAWR 0x10 |
Definition at line 139 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::region_ok_for_hw_watchpoint().
#define PPC_DEBUG_FEATURE_DATA_BP_MASK 0x8 |
Definition at line 99 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::masked_watch_num_registers().
#define PPC_DEBUG_FEATURE_DATA_BP_RANGE 0x4 |
Definition at line 98 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::create_watchpoint_request(), and ppc_linux_nat_target::region_ok_for_hw_watchpoint().
#define PPC_DEBUG_FEATURE_INSN_BP_MASK 0x2 |
Definition at line 97 of file ppc-linux-nat.c.
#define PPC_DEBUG_FEATURE_INSN_BP_RANGE 0x1 |
Definition at line 96 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::ranged_break_num_registers().
#define PPC_PTRACE_DELHWDEBUG 0x87 |
Definition at line 82 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::low_prepare_to_resume().
#define PPC_PTRACE_GETHWDBGINFO 0x89 |
Definition at line 80 of file ppc-linux-nat.c.
Referenced by ppc_linux_dreg_interface::detect().
#define PPC_PTRACE_SETHWDEBUG 0x88 |
Definition at line 81 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::low_prepare_to_resume().
#define PTRACE_GET_DEBUGREG 25 |
Definition at line 62 of file ppc-linux-nat.c.
Referenced by ppc_linux_dreg_interface::detect().
#define PTRACE_GETFPREGS 14 |
Definition at line 160 of file ppc-linux-nat.c.
Referenced by fetch_all_fp_regs(), amd64_linux_nat_target::fetch_registers(), mips_linux_nat_target::mips64_regsets_fetch_registers(), mips_linux_nat_target::mips64_regsets_store_registers(), store_all_fp_regs(), and amd64_linux_nat_target::store_registers().
#define PTRACE_GETREGS 12 |
Definition at line 154 of file ppc-linux-nat.c.
Referenced by fetch_all_gp_regs(), fetch_gregs(), amd64_linux_nat_target::fetch_registers(), tilegx_linux_nat_target::fetch_registers(), fetch_regs(), fetch_regs(), linux_ptrace_test_ret_to_nx(), mips_linux_nat_target::mips64_regsets_fetch_registers(), mips_linux_nat_target::mips64_regsets_store_registers(), ps_get_thread_area(), store_all_gp_regs(), store_gregs(), amd64_linux_nat_target::store_registers(), tilegx_linux_nat_target::store_registers(), store_regs(), and store_regs().
#define PTRACE_SET_DEBUGREG 26 |
Definition at line 65 of file ppc-linux-nat.c.
Referenced by ppc_linux_nat_target::low_prepare_to_resume().
#define PTRACE_SETFPREGS 15 |
Definition at line 163 of file ppc-linux-nat.c.
Referenced by mips_linux_nat_target::mips64_regsets_store_registers(), store_all_fp_regs(), store_fpregs(), and amd64_linux_nat_target::store_registers().
#define PTRACE_SETREGS 13 |
Definition at line 157 of file ppc-linux-nat.c.
Referenced by mips_linux_nat_target::mips64_regsets_store_registers(), store_all_gp_regs(), store_gregs(), amd64_linux_nat_target::store_registers(), tilegx_linux_nat_target::store_registers(), store_regs(), and store_regs().
typedef char gdb_vrregset_t[PPC_LINUX_SIZEOF_VRREGSET] |
Definition at line 192 of file ppc-linux-nat.c.
typedef char gdb_vsxregset_t[PPC_LINUX_SIZEOF_VSXREGSET] |
Definition at line 226 of file ppc-linux-nat.c.
void _initialize_ppc_linux_nat | ( | ) |
Definition at line 3220 of file ppc-linux-nat.c.
References add_inf_child_target(), linux_target, and the_ppc_linux_nat_target.
|
static |
Definition at line 891 of file ppc-linux-nat.c.
References ptrace, and PTRACE_GETREGSET.
Referenced by ppc_linux_nat_target::read_description().
|
static |
Definition at line 1177 of file ppc-linux-nat.c.
References have_ptrace_getsetfpregs, ptrace, PTRACE_GETFPREGS, and supply_fpregset().
Referenced by fetch_fp_regs().
|
static |
Definition at line 1125 of file ppc-linux-nat.c.
References have_ptrace_getsetregs, ptrace, PTRACE_GETREGS, and supply_gregset().
Referenced by fetch_gp_regs().
|
static |
Definition at line 740 of file ppc-linux-nat.c.
References reg_buffer::arch(), have_ptrace_getvrregs, PPC_LINUX_SIZEOF_VRREGSET, ppc_linux_vrregset(), ptrace, PTRACE_GETVRREGS, and regset::supply_regset.
Referenced by fetch_ppc_registers(), and fetch_register().
|
static |
Definition at line 1203 of file ppc-linux-nat.c.
References reg_buffer::arch(), fetch_all_fp_regs(), fetch_register(), have_ptrace_getsetfpregs, ppc_gdbarch_tdep::ppc_fp0_regnum, and ppc_num_fprs.
Referenced by fetch_ppc_registers().
|
static |
Definition at line 1151 of file ppc-linux-nat.c.
References reg_buffer::arch(), fetch_all_gp_regs(), fetch_register(), have_ptrace_getsetregs, ppc_gdbarch_tdep::ppc_gp0_regnum, and ppc_num_gprs.
Referenced by fetch_ppc_registers().
|
static |
Definition at line 1221 of file ppc-linux-nat.c.
References reg_buffer::arch(), fetch_altivec_registers(), fetch_fp_regs(), fetch_gp_regs(), fetch_register(), fetch_regset(), fetch_spe_register(), fetch_vsx_registers(), gdbarch_pc_regnum(), ppc_gdbarch_tdep::have_ebb, ppc_gdbarch_tdep::have_htm_altivec, ppc_gdbarch_tdep::have_htm_core, ppc_gdbarch_tdep::have_htm_fpu, ppc_gdbarch_tdep::have_htm_spr, ppc_gdbarch_tdep::have_htm_vsx, have_ptrace_getsetvsxregs, have_ptrace_getvrregs, NT_PPC_DSCR, NT_PPC_EBB, NT_PPC_PMU, NT_PPC_PPR, NT_PPC_TAR, NT_PPC_TM_CDSCR, NT_PPC_TM_CFPR, NT_PPC_TM_CGPR, NT_PPC_TM_CPPR, NT_PPC_TM_CTAR, NT_PPC_TM_CVMX, NT_PPC_TM_CVSX, NT_PPC_TM_SPR, ppc32_linux_cdscrregset, ppc32_linux_cfprregset, ppc32_linux_cpprregset, ppc32_linux_ctarregset, ppc32_linux_cvsxregset, ppc32_linux_dscrregset, ppc32_linux_ebbregset, ppc32_linux_pmuregset, ppc32_linux_pprregset, PPC32_LINUX_SIZEOF_CGPRREGSET, ppc32_linux_tarregset, ppc32_linux_tm_sprregset, PPC64_LINUX_SIZEOF_CGPRREGSET, ppc_gdbarch_tdep::ppc_cdscr_regnum, ppc_gdbarch_tdep::ppc_cppr_regnum, ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ctar_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, ppc_gdbarch_tdep::ppc_dscr_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_fpscr_regnum, ppc_linux_cgprregset(), ppc_linux_cvmxregset(), PPC_LINUX_SIZEOF_CDSCRREGSET, PPC_LINUX_SIZEOF_CFPRREGSET, PPC_LINUX_SIZEOF_CPPRREGSET, PPC_LINUX_SIZEOF_CTARREGSET, PPC_LINUX_SIZEOF_CVMXREGSET, PPC_LINUX_SIZEOF_CVSXREGSET, PPC_LINUX_SIZEOF_DSCRREGSET, PPC_LINUX_SIZEOF_EBBREGSET, PPC_LINUX_SIZEOF_PMUREGSET, PPC_LINUX_SIZEOF_PPRREGSET, PPC_LINUX_SIZEOF_TARREGSET, PPC_LINUX_SIZEOF_TM_SPRREGSET, ppc_linux_trap_reg_p(), ppc_gdbarch_tdep::ppc_lr_regnum, ppc_gdbarch_tdep::ppc_mmcr0_regnum, ppc_gdbarch_tdep::ppc_mq_regnum, PPC_ORIG_R3_REGNUM, ppc_gdbarch_tdep::ppc_ppr_regnum, ppc_gdbarch_tdep::ppc_ps_regnum, ppc_gdbarch_tdep::ppc_tar_regnum, PPC_TRAP_REGNUM, ppc_gdbarch_tdep::ppc_vr0_regnum, ppc_gdbarch_tdep::ppc_vrsave_regnum, ppc_gdbarch_tdep::ppc_vsr0_upper_regnum, ppc_gdbarch_tdep::ppc_xer_regnum, and ppc_gdbarch_tdep::wordsize.
Referenced by ppc_linux_nat_target::fetch_registers().
|
static |
Definition at line 907 of file ppc-linux-nat.c.
References altivec_register_p(), reg_buffer::arch(), fetch_altivec_registers(), fetch_regset(), fetch_spe_register(), fetch_vsx_registers(), gdbarch_byte_order(), gdbarch_register_name(), ppc_gdbarch_tdep::have_ebb, ppc_gdbarch_tdep::have_htm_altivec, ppc_gdbarch_tdep::have_htm_core, ppc_gdbarch_tdep::have_htm_fpu, ppc_gdbarch_tdep::have_htm_spr, ppc_gdbarch_tdep::have_htm_vsx, have_ptrace_getsetvsxregs, have_ptrace_getvrregs, NT_PPC_DSCR, NT_PPC_EBB, NT_PPC_PMU, NT_PPC_PPR, NT_PPC_TAR, NT_PPC_TM_CDSCR, NT_PPC_TM_CFPR, NT_PPC_TM_CGPR, NT_PPC_TM_CPPR, NT_PPC_TM_CTAR, NT_PPC_TM_CVMX, NT_PPC_TM_CVSX, NT_PPC_TM_SPR, ppc32_linux_cdscrregset, ppc32_linux_cfprregset, ppc32_linux_cpprregset, ppc32_linux_ctarregset, ppc32_linux_cvsxregset, ppc32_linux_dscrregset, ppc32_linux_ebbregset, ppc32_linux_pmuregset, ppc32_linux_pprregset, PPC32_LINUX_SIZEOF_CGPRREGSET, ppc32_linux_tarregset, ppc32_linux_tm_sprregset, PPC64_LINUX_SIZEOF_CGPRREGSET, ppc_gdbarch_tdep::ppc_cdscr_regnum, PPC_CDSCR_REGNUM, ppc_gdbarch_tdep::ppc_cppr_regnum, PPC_CPPR_REGNUM, ppc_gdbarch_tdep::ppc_ctar_regnum, PPC_CTAR_REGNUM, ppc_gdbarch_tdep::ppc_dscr_regnum, PPC_DSCR_REGNUM, PPC_IS_CKPTFP_REGNUM, PPC_IS_CKPTGP_REGNUM, PPC_IS_CKPTVMX_REGNUM, PPC_IS_CKPTVSX_REGNUM, PPC_IS_EBB_REGNUM, PPC_IS_PMU_REGNUM, PPC_IS_TMSPR_REGNUM, ppc_linux_cgprregset(), ppc_linux_cvmxregset(), PPC_LINUX_SIZEOF_CDSCRREGSET, PPC_LINUX_SIZEOF_CFPRREGSET, PPC_LINUX_SIZEOF_CPPRREGSET, PPC_LINUX_SIZEOF_CTARREGSET, PPC_LINUX_SIZEOF_CVMXREGSET, PPC_LINUX_SIZEOF_CVSXREGSET, PPC_LINUX_SIZEOF_DSCRREGSET, PPC_LINUX_SIZEOF_EBBREGSET, PPC_LINUX_SIZEOF_PMUREGSET, PPC_LINUX_SIZEOF_PPRREGSET, PPC_LINUX_SIZEOF_TARREGSET, PPC_LINUX_SIZEOF_TM_SPRREGSET, PPC_MAX_REGISTER_SIZE, ppc_gdbarch_tdep::ppc_mmcr0_regnum, ppc_gdbarch_tdep::ppc_ppr_regnum, PPC_PPR_REGNUM, ppc_register_u_addr(), ppc_gdbarch_tdep::ppc_tar_regnum, PPC_TAR_REGNUM, ptrace, PTRACE_TYPE_ARG3, reg_buffer::raw_supply(), register_size(), spe_register_p(), vsx_register_p(), and ppc_gdbarch_tdep::wordsize.
Referenced by fetch_fp_regs(), fetch_gp_regs(), fetch_ppc_registers(), and ppc_linux_nat_target::fetch_registers().
|
static |
Definition at line 841 of file ppc-linux-nat.c.
References ptrace, PTRACE_GETREGSET, and regset::supply_regset.
Referenced by fetch_ppc_registers(), and fetch_register().
|
static |
Definition at line 798 of file ppc-linux-nat.c.
References gdb_evrregset_t::acc, reg_buffer::arch(), gdb_evrregset_t::evr, get_spe_registers(), ppc_gdbarch_tdep::ppc_acc_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_num_gprs, ppc_gdbarch_tdep::ppc_spefscr_regnum, reg_buffer::raw_supply(), register_size(), and gdb_evrregset_t::spefscr.
Referenced by fetch_ppc_registers(), and fetch_register().
|
static |
Definition at line 715 of file ppc-linux-nat.c.
References have_ptrace_getsetvsxregs, PPC_LINUX_SIZEOF_VSXREGSET, ppc_linux_vsxregset(), ptrace, PTRACE_GETVSXREGS, and regset::supply_regset.
Referenced by fetch_ppc_registers(), and fetch_register().
void fill_fpregset | ( | const struct regcache * | regcache, |
gdb_fpregset_t * | fpregsetp, | ||
int | regno ) |
Definition at line 1903 of file ppc-linux-nat.c.
References ppc_collect_fpregset(), and ppc_linux_fpregset().
Referenced by store_all_fp_regs().
void fill_gregset | ( | const struct regcache * | regcache, |
gdb_gregset_t * | gregsetp, | ||
int | regno ) |
Definition at line 1883 of file ppc-linux-nat.c.
References ppc_collect_gregset(), and ppc_linux_gregset().
Referenced by store_all_gp_regs().
|
static |
Definition at line 772 of file ppc-linux-nat.c.
References have_ptrace_getsetevrregs, ptrace, and PTRACE_GETEVRREGS.
Referenced by fetch_spe_register(), and store_spe_register().
|
static |
Definition at line 645 of file ppc-linux-nat.c.
References gdbarch_pc_regnum(), ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_fpscr_regnum, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_gdbarch_tdep::ppc_lr_regnum, ppc_gdbarch_tdep::ppc_mq_regnum, ppc_num_fprs, ppc_num_gprs, PPC_ORIG_R3_REGNUM, ppc_gdbarch_tdep::ppc_ps_regnum, PPC_TRAP_REGNUM, ppc_gdbarch_tdep::ppc_xer_regnum, PT_ORIG_R3, PT_TRAP, and register_size().
Referenced by fetch_register(), and store_register().
|
static |
Definition at line 1396 of file ppc-linux-nat.c.
References have_ptrace_getsetevrregs, ptrace, and PTRACE_SETEVRREGS.
Referenced by store_spe_register().
|
static |
Definition at line 1739 of file ppc-linux-nat.c.
References fill_fpregset(), have_ptrace_getsetfpregs, ptrace, PTRACE_GETFPREGS, and PTRACE_SETFPREGS.
Referenced by store_fp_regs().
|
static |
Definition at line 1677 of file ppc-linux-nat.c.
References fill_gregset(), have_ptrace_getsetregs, ptrace, PTRACE_GETREGS, and PTRACE_SETREGS.
Referenced by store_gp_regs().
|
static |
Definition at line 1360 of file ppc-linux-nat.c.
References reg_buffer::arch(), regset::collect_regset, have_ptrace_getvrregs, PPC_LINUX_SIZEOF_VRREGSET, ppc_linux_vrregset(), ptrace, PTRACE_GETVRREGS, and PTRACE_SETVRREGS.
Referenced by store_ppc_registers(), and store_register().
|
static |
Definition at line 1775 of file ppc-linux-nat.c.
References reg_buffer::arch(), have_ptrace_getsetfpregs, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_num_fprs, store_all_fp_regs(), and store_register().
Referenced by store_ppc_registers().
|
static |
Definition at line 1713 of file ppc-linux-nat.c.
References reg_buffer::arch(), have_ptrace_getsetregs, ppc_gdbarch_tdep::ppc_gp0_regnum, ppc_num_gprs, store_all_gp_regs(), and store_register().
Referenced by store_ppc_registers().
|
static |
Definition at line 1793 of file ppc-linux-nat.c.
References reg_buffer::arch(), gdbarch_pc_regnum(), ppc_gdbarch_tdep::have_htm_spr, have_ptrace_getsetvsxregs, have_ptrace_getvrregs, NT_PPC_DSCR, NT_PPC_PMU, NT_PPC_PPR, NT_PPC_TAR, NT_PPC_TM_SPR, ppc32_linux_dscrregset, ppc32_linux_pmuregset, ppc32_linux_pprregset, ppc32_linux_tarregset, ppc32_linux_tm_sprregset, ppc_gdbarch_tdep::ppc_cr_regnum, ppc_gdbarch_tdep::ppc_ctr_regnum, ppc_gdbarch_tdep::ppc_dscr_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_gdbarch_tdep::ppc_fp0_regnum, ppc_gdbarch_tdep::ppc_fpscr_regnum, PPC_LINUX_SIZEOF_DSCRREGSET, PPC_LINUX_SIZEOF_PMUREGSET, PPC_LINUX_SIZEOF_PPRREGSET, PPC_LINUX_SIZEOF_TARREGSET, PPC_LINUX_SIZEOF_TM_SPRREGSET, ppc_linux_trap_reg_p(), ppc_gdbarch_tdep::ppc_lr_regnum, ppc_gdbarch_tdep::ppc_mmcr0_regnum, ppc_gdbarch_tdep::ppc_mq_regnum, PPC_ORIG_R3_REGNUM, ppc_gdbarch_tdep::ppc_ppr_regnum, ppc_gdbarch_tdep::ppc_ps_regnum, ppc_gdbarch_tdep::ppc_tar_regnum, PPC_TRAP_REGNUM, ppc_gdbarch_tdep::ppc_vr0_regnum, ppc_gdbarch_tdep::ppc_vrsave_regnum, ppc_gdbarch_tdep::ppc_vsr0_upper_regnum, ppc_gdbarch_tdep::ppc_xer_regnum, store_altivec_registers(), store_fp_regs(), store_gp_regs(), store_register(), store_regset(), store_spe_register(), and store_vsx_registers().
Referenced by ppc_linux_nat_target::store_registers().
|
static |
Definition at line 1472 of file ppc-linux-nat.c.
References altivec_register_p(), reg_buffer::arch(), gdbarch_byte_order(), gdbarch_register_name(), ppc_gdbarch_tdep::have_ebb, ppc_gdbarch_tdep::have_htm_altivec, ppc_gdbarch_tdep::have_htm_core, ppc_gdbarch_tdep::have_htm_fpu, ppc_gdbarch_tdep::have_htm_spr, ppc_gdbarch_tdep::have_htm_vsx, NT_PPC_DSCR, NT_PPC_EBB, NT_PPC_PMU, NT_PPC_PPR, NT_PPC_TAR, NT_PPC_TM_CDSCR, NT_PPC_TM_CFPR, NT_PPC_TM_CGPR, NT_PPC_TM_CPPR, NT_PPC_TM_CTAR, NT_PPC_TM_CVMX, NT_PPC_TM_CVSX, NT_PPC_TM_SPR, ppc32_linux_cdscrregset, ppc32_linux_cfprregset, ppc32_linux_cpprregset, ppc32_linux_ctarregset, ppc32_linux_cvsxregset, ppc32_linux_dscrregset, ppc32_linux_ebbregset, ppc32_linux_pmuregset, ppc32_linux_pprregset, PPC32_LINUX_SIZEOF_CGPRREGSET, ppc32_linux_tarregset, ppc32_linux_tm_sprregset, PPC64_LINUX_SIZEOF_CGPRREGSET, ppc_gdbarch_tdep::ppc_cdscr_regnum, PPC_CDSCR_REGNUM, ppc_gdbarch_tdep::ppc_cppr_regnum, PPC_CPPR_REGNUM, ppc_gdbarch_tdep::ppc_ctar_regnum, PPC_CTAR_REGNUM, ppc_gdbarch_tdep::ppc_dscr_regnum, PPC_DSCR_REGNUM, ppc_gdbarch_tdep::ppc_fpscr_regnum, PPC_IS_CKPTFP_REGNUM, PPC_IS_CKPTGP_REGNUM, PPC_IS_CKPTVMX_REGNUM, PPC_IS_CKPTVSX_REGNUM, PPC_IS_EBB_REGNUM, PPC_IS_PMU_REGNUM, PPC_IS_TMSPR_REGNUM, ppc_linux_cgprregset(), ppc_linux_cvmxregset(), PPC_LINUX_SIZEOF_CDSCRREGSET, PPC_LINUX_SIZEOF_CFPRREGSET, PPC_LINUX_SIZEOF_CPPRREGSET, PPC_LINUX_SIZEOF_CTARREGSET, PPC_LINUX_SIZEOF_CVMXREGSET, PPC_LINUX_SIZEOF_CVSXREGSET, PPC_LINUX_SIZEOF_DSCRREGSET, PPC_LINUX_SIZEOF_EBBREGSET, PPC_LINUX_SIZEOF_PMUREGSET, PPC_LINUX_SIZEOF_PPRREGSET, PPC_LINUX_SIZEOF_TARREGSET, PPC_LINUX_SIZEOF_TM_SPRREGSET, PPC_MAX_REGISTER_SIZE, ppc_gdbarch_tdep::ppc_mmcr0_regnum, PPC_ORIG_R3_REGNUM, ppc_gdbarch_tdep::ppc_ppr_regnum, PPC_PPR_REGNUM, ppc_register_u_addr(), ppc_gdbarch_tdep::ppc_tar_regnum, PPC_TAR_REGNUM, PPC_TRAP_REGNUM, ptrace, PTRACE_TYPE_ARG3, reg_buffer::raw_collect(), register_size(), spe_register_p(), store_altivec_registers(), store_regset(), store_spe_register(), store_vsx_registers(), vsx_register_p(), and ppc_gdbarch_tdep::wordsize.
Referenced by store_fp_regs(), store_gp_regs(), store_ppc_registers(), and ppc_linux_nat_target::store_registers().
|
static |
Definition at line 867 of file ppc-linux-nat.c.
References regset::collect_regset, ptrace, PTRACE_GETREGSET, PTRACE_SETREGSET, and regnum.
Referenced by store_ppc_registers(), and store_register().
|
static |
Definition at line 1420 of file ppc-linux-nat.c.
References gdb_evrregset_t::acc, reg_buffer::arch(), gdb_evrregset_t::evr, get_spe_registers(), ppc_gdbarch_tdep::ppc_acc_regnum, ppc_gdbarch_tdep::ppc_ev0_upper_regnum, ppc_num_gprs, ppc_gdbarch_tdep::ppc_spefscr_regnum, reg_buffer::raw_collect(), register_size(), set_spe_registers(), and gdb_evrregset_t::spefscr.
Referenced by store_ppc_registers(), and store_register().
|
static |
Definition at line 1334 of file ppc-linux-nat.c.
References regset::collect_regset, have_ptrace_getsetvsxregs, PPC_LINUX_SIZEOF_VSXREGSET, ppc_linux_vsxregset(), ptrace, PTRACE_GETVSXREGS, and PTRACE_SETVSXREGS.
Referenced by store_ppc_registers(), and store_register().
void supply_fpregset | ( | struct regcache * | regcache, |
const gdb_fpregset_t * | fpregsetp ) |
Definition at line 1894 of file ppc-linux-nat.c.
References ppc_linux_fpregset(), and ppc_supply_fpregset().
Referenced by fetch_all_fp_regs().
void supply_gregset | ( | struct regcache * | regcache, |
const gdb_gregset_t * | gregsetp ) |
Definition at line 1875 of file ppc-linux-nat.c.
References ppc_linux_gregset(), and ppc_supply_gregset().
Referenced by fetch_all_gp_regs().
int have_ptrace_getsetevrregs = 1 |
Definition at line 269 of file ppc-linux-nat.c.
Referenced by get_spe_registers(), ppc_linux_nat_target::read_description(), and set_spe_registers().
int have_ptrace_getsetfpregs = 1 |
Definition at line 281 of file ppc-linux-nat.c.
Referenced by fetch_all_fp_regs(), fetch_fp_regs(), store_all_fp_regs(), and store_fp_regs().
int have_ptrace_getsetregs = 1 |
Definition at line 275 of file ppc-linux-nat.c.
Referenced by fetch_all_gp_regs(), fetch_gp_regs(), store_all_gp_regs(), and store_gp_regs().
int have_ptrace_getsetvsxregs = 1 |
Definition at line 257 of file ppc-linux-nat.c.
Referenced by fetch_ppc_registers(), fetch_register(), fetch_vsx_registers(), ppc_linux_nat_target::read_description(), store_ppc_registers(), and store_vsx_registers().
int have_ptrace_getvrregs = 1 |
Definition at line 263 of file ppc-linux-nat.c.
Referenced by fetch_altivec_registers(), fetch_ppc_registers(), fetch_register(), ppc_linux_nat_target::read_description(), store_altivec_registers(), and store_ppc_registers().
|
static |
Definition at line 627 of file ppc-linux-nat.c.
Referenced by _initialize_ppc_linux_nat().