GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
ia64-linux-nat.c File Reference
#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]
 

Macro Definition Documentation

◆ COPY_REG

#define COPY_REG ( _idx_,
_regi_ )
Value:
if ((regno == -1) || regno == _regi_) \
regcache->raw_collect (_regi_, regp + _idx_)
void raw_collect(int regnum, void *buf) const override
Definition regcache.c:1127

◆ IA64_PSR_DB

#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().

◆ IA64_PSR_DD

#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().

Function Documentation

◆ _initialize_ia64_linux_nat()

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.

◆ fill_fpregset()

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().

◆ fill_gregset()

void fill_gregset ( const struct regcache * regcache,
gregset_t * gregsetp,
int regno )

◆ ia64_cannot_fetch_register()

static int ia64_cannot_fetch_register ( struct gdbarch * gdbarch,
int regno )
static

Definition at line 365 of file ia64-linux-nat.c.

References gdbarch_num_regs(), and u_offsets.

Referenced by ia64_linux_fetch_register().

◆ ia64_cannot_store_register()

static int ia64_cannot_store_register ( struct gdbarch * gdbarch,
int regno )
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().

◆ ia64_linux_fetch_register()

static void ia64_linux_fetch_register ( struct regcache * regcache,
int regnum )
static

◆ ia64_linux_store_register()

static void ia64_linux_store_register ( const struct regcache * regcache,
int regnum )
static

◆ ia64_register_addr()

static CORE_ADDR ia64_register_addr ( struct gdbarch * gdbarch,
int regno )
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().

◆ is_power_of_2()

static int is_power_of_2 ( int val)
static

◆ store_debug_register()

static void store_debug_register ( ptid_t ptid,
int idx,
long val )
static

◆ store_debug_register_pair()

static void store_debug_register_pair ( ptid_t ptid,
int idx,
long * dbr_addr,
long * dbr_mask )
static

◆ supply_fpregset()

void supply_fpregset ( struct regcache * regcache,
const fpregset_t * fpregsetp )

◆ supply_gregset()

void supply_gregset ( struct regcache * regcache,
const gregset_t * gregsetp )

Variable Documentation

◆ debug_registers

long debug_registers[8]
static

◆ the_ia64_linux_nat_target

ia64_linux_nat_target the_ia64_linux_nat_target
static

Definition at line 88 of file ia64-linux-nat.c.

Referenced by _initialize_ia64_linux_nat().

◆ u_offsets

int u_offsets[]
static