GDB (xrefs)
|
#include "defs.h"
#include "inferior.h"
#include "target.h"
#include "gdbarch.h"
#include "gdbcore.h"
#include "regcache.h"
#include "ia64-tdep.h"
#include "linux-nat.h"
#include <signal.h>
#include "nat/gdb_ptrace.h"
#include "gdbsupport/gdb_wait.h"
#include <sys/syscall.h>
#include <sys/user.h>
#include <asm/ptrace_offsets.h>
#include <sys/procfs.h>
#include "gregset.h"
#include "inf-ptrace.h"
Go to the source code of this file.
Classes | |
class | ia64_linux_nat_target |
Macros | |
#define | COPY_REG(_idx_, _regi_) |
#define | IA64_PSR_DB (1UL << 24) |
#define | IA64_PSR_DD (1UL << 39) |
Functions | |
static CORE_ADDR | ia64_register_addr (struct gdbarch *gdbarch, int regno) |
static int | ia64_cannot_fetch_register (struct gdbarch *gdbarch, int regno) |
static int | ia64_cannot_store_register (struct gdbarch *gdbarch, int regno) |
void | supply_gregset (struct regcache *regcache, const gregset_t *gregsetp) |
void | fill_gregset (const struct regcache *regcache, gregset_t *gregsetp, int regno) |
void | supply_fpregset (struct regcache *regcache, const fpregset_t *fpregsetp) |
void | fill_fpregset (const struct regcache *regcache, fpregset_t *fpregsetp, int regno) |
static void | store_debug_register (ptid_t ptid, int idx, long val) |
static void | store_debug_register_pair (ptid_t ptid, int idx, long *dbr_addr, long *dbr_mask) |
static int | is_power_of_2 (int val) |
static void | ia64_linux_fetch_register (struct regcache *regcache, int regnum) |
static void | ia64_linux_store_register (const struct regcache *regcache, int regnum) |
void | _initialize_ia64_linux_nat () |
Variables | |
static ia64_linux_nat_target | the_ia64_linux_nat_target |
static int | u_offsets [] |
static long | debug_registers [8] |
#define COPY_REG | ( | _idx_, | |
_regi_ ) |
#define IA64_PSR_DB (1UL << 24) |
Definition at line 532 of file ia64-linux-nat.c.
Referenced by ia64_linux_nat_target::enable_watchpoints_in_psr().
#define IA64_PSR_DD (1UL << 39) |
Definition at line 533 of file ia64-linux-nat.c.
Referenced by ia64_linux_nat_target::stopped_data_address().
void _initialize_ia64_linux_nat | ( | ) |
Definition at line 927 of file ia64-linux-nat.c.
References add_inf_child_target(), linux_target, and the_ia64_linux_nat_target.
void fill_fpregset | ( | const struct regcache * | regcache, |
fpregset_t * | fpregsetp, | ||
int | regno ) |
Definition at line 520 of file ia64-linux-nat.c.
References IA64_FR0_REGNUM, IA64_FR127_REGNUM, and reg_buffer::raw_collect().
void fill_gregset | ( | const struct regcache * | regcache, |
gregset_t * | gregsetp, | ||
int | regno ) |
Definition at line 447 of file ia64-linux-nat.c.
References COPY_REG, IA64_BR0_REGNUM, IA64_BR7_REGNUM, IA64_BSP_REGNUM, IA64_BSPSTORE_REGNUM, IA64_CCV_REGNUM, IA64_CFM_REGNUM, IA64_EC_REGNUM, IA64_FPSR_REGNUM, IA64_GR0_REGNUM, IA64_GR31_REGNUM, IA64_IP_REGNUM, IA64_LC_REGNUM, IA64_PFS_REGNUM, IA64_PR_REGNUM, IA64_PSR_REGNUM, IA64_RNAT_REGNUM, IA64_RSC_REGNUM, and IA64_UNAT_REGNUM.
|
static |
Definition at line 365 of file ia64-linux-nat.c.
References gdbarch_num_regs(), and u_offsets.
Referenced by ia64_linux_fetch_register().
|
static |
Definition at line 373 of file ia64-linux-nat.c.
References gdbarch_num_regs(), IA64_BSPSTORE_REGNUM, and u_offsets.
Referenced by ia64_linux_store_register().
|
static |
Definition at line 732 of file ia64-linux-nat.c.
References reg_buffer::arch(), gdbarch_register_name(), get_ptrace_pid(), ia64_cannot_fetch_register(), IA64_FR0_REGNUM, IA64_FR1_REGNUM, IA64_GR0_REGNUM, ia64_register_addr(), pid, PT_READ_U, regcache::ptid(), ptrace, PTRACE_TYPE_ARG3, PTRACE_TYPE_RET, reg_buffer::raw_supply(), register_size(), regnum, and size.
Referenced by ia64_linux_nat_target::fetch_registers().
|
static |
Definition at line 820 of file ia64-linux-nat.c.
References reg_buffer::arch(), gdbarch_register_name(), get_ptrace_pid(), ia64_cannot_store_register(), ia64_register_addr(), pid, PT_WRITE_U, regcache::ptid(), ptrace, PTRACE_TYPE_ARG3, PTRACE_TYPE_RET, reg_buffer::raw_collect(), register_size(), regnum, and size.
Referenced by ia64_linux_nat_target::store_registers().
|
static |
Definition at line 349 of file ia64-linux-nat.c.
References gdbarch_num_regs(), and u_offsets.
Referenced by ia64_linux_fetch_register(), and ia64_linux_store_register().
|
static |
Definition at line 575 of file ia64-linux-nat.c.
Referenced by ia64_linux_nat_target::insert_watchpoint(), and ia64_linux_nat_target::remove_watchpoint().
|
static |
Definition at line 553 of file ia64-linux-nat.c.
References PT_WRITE_U, regcache::ptid(), ptrace, and PTRACE_TYPE_ARG3.
Referenced by ia64_linux_nat_target::low_new_thread(), and store_debug_register_pair().
|
static |
Definition at line 565 of file ia64-linux-nat.c.
References regcache::ptid(), and store_debug_register().
Referenced by ia64_linux_nat_target::insert_watchpoint(), and ia64_linux_nat_target::remove_watchpoint().
void supply_fpregset | ( | struct regcache * | regcache, |
const fpregset_t * | fpregsetp ) |
Definition at line 490 of file ia64-linux-nat.c.
References IA64_FR0_REGNUM, IA64_FR127_REGNUM, IA64_FR1_REGNUM, IA64_FR2_REGNUM, and reg_buffer::raw_supply().
void supply_gregset | ( | struct regcache * | regcache, |
const gregset_t * | gregsetp ) |
Definition at line 411 of file ia64-linux-nat.c.
References IA64_BR0_REGNUM, IA64_BR7_REGNUM, IA64_BSP_REGNUM, IA64_BSPSTORE_REGNUM, IA64_CCV_REGNUM, IA64_CFM_REGNUM, IA64_EC_REGNUM, IA64_FPSR_REGNUM, IA64_GR0_REGNUM, IA64_GR31_REGNUM, IA64_IP_REGNUM, IA64_LC_REGNUM, IA64_PFS_REGNUM, IA64_PR_REGNUM, IA64_PSR_REGNUM, IA64_RNAT_REGNUM, IA64_RSC_REGNUM, IA64_UNAT_REGNUM, and reg_buffer::raw_supply().
|
static |
Definition at line 550 of file ia64-linux-nat.c.
Referenced by ia64_linux_nat_target::insert_watchpoint(), ia64_linux_nat_target::low_new_thread(), and ia64_linux_nat_target::remove_watchpoint().
|
static |
Definition at line 88 of file ia64-linux-nat.c.
Referenced by _initialize_ia64_linux_nat().
|
static |
Definition at line 95 of file ia64-linux-nat.c.
Referenced by ia64_cannot_fetch_register(), ia64_cannot_store_register(), and ia64_register_addr().