GDB (xrefs)
Defines | Functions | Variables
/home/stan/gdb/src/gdb/ia64-linux-nat.c File Reference
#include "defs.h"
#include "gdb_string.h"
#include "inferior.h"
#include "target.h"
#include "gdbcore.h"
#include "regcache.h"
#include "ia64-tdep.h"
#include "linux-nat.h"
#include <signal.h>
#include <sys/ptrace.h>
#include "gdb_wait.h"
#include <sys/syscall.h>
#include <sys/user.h>
#include <asm/ptrace_offsets.h>
#include <sys/procfs.h>
#include "gregset.h"

Go to the source code of this file.

Defines

#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 enable_watchpoints_in_psr (ptid_t ptid)
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 int ia64_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw, struct expression *cond)
static int ia64_linux_remove_watchpoint (CORE_ADDR addr, int len, int type, struct expression *cond)
static void ia64_linux_new_thread (struct lwp_info *lp)
static int ia64_linux_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
static int ia64_linux_stopped_by_watchpoint (void)
static int ia64_linux_can_use_hw_breakpoint (int type, int cnt, int othertype)
static void ia64_linux_fetch_register (struct regcache *regcache, int regnum)
static void ia64_linux_fetch_registers (struct target_ops *ops, struct regcache *regcache, int regnum)
static void ia64_linux_store_register (const struct regcache *regcache, int regnum)
static void ia64_linux_store_registers (struct target_ops *ops, struct regcache *regcache, int regnum)
static LONGEST ia64_linux_xfer_partial (struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, LONGEST len)
static int ia64_linux_status_is_event (int status)
void _initialize_ia64_linux_nat (void)

Variables

static int u_offsets []
static long debug_registers [8]
static LONGEST(* super_xfer_partial )(struct target_ops *, enum target_object, const char *, gdb_byte *, const gdb_byte *, ULONGEST, LONGEST)

Define Documentation

#define COPY_REG (   _idx_,
  _regi_ 
)
Value:
if ((regno == -1) || regno == _regi_) \
    regcache_raw_collect (regcache, _regi_, regp + _idx_)

Referenced by fill_gregset().

#define IA64_PSR_DB   (1UL << 24)

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

Referenced by enable_watchpoints_in_psr().

#define IA64_PSR_DD   (1UL << 39)

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

Referenced by ia64_linux_stopped_data_address().


Function Documentation

void _initialize_ia64_linux_nat ( void  )
static void enable_watchpoints_in_psr ( ptid_t  ptid) [static]
void fill_fpregset ( const struct regcache regcache,
fpregset_t fpregsetp,
int  regno 
)

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

References IA64_FR0_REGNUM, IA64_FR127_REGNUM, and regcache_raw_collect().

void fill_gregset ( const struct regcache regcache,
gregset_t gregsetp,
int  regno 
)
static int ia64_cannot_fetch_register ( struct gdbarch gdbarch,
int  regno 
) [static]

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

References gdbarch_num_regs(), and u_offsets.

Referenced by ia64_linux_fetch_register().

static int ia64_cannot_store_register ( struct gdbarch gdbarch,
int  regno 
) [static]

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

References gdbarch_num_regs(), IA64_BSPSTORE_REGNUM, and u_offsets.

Referenced by ia64_linux_store_register().

static int ia64_linux_can_use_hw_breakpoint ( int  type,
int  cnt,
int  othertype 
) [static]

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

Referenced by _initialize_ia64_linux_nat().

static void ia64_linux_fetch_register ( struct regcache regcache,
int  regnum 
) [static]
static void ia64_linux_fetch_registers ( struct target_ops ops,
struct regcache regcache,
int  regnum 
) [static]
static int ia64_linux_insert_watchpoint ( CORE_ADDR  addr,
int  len,
int  rw,
struct expression cond 
) [static]
static void ia64_linux_new_thread ( struct lwp_info lp) [static]
static int ia64_linux_remove_watchpoint ( CORE_ADDR  addr,
int  len,
int  type,
struct expression cond 
) [static]
static int ia64_linux_status_is_event ( int  status) [static]

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

Referenced by _initialize_ia64_linux_nat().

static int ia64_linux_stopped_by_watchpoint ( void  ) [static]

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

References current_target, and ia64_linux_stopped_data_address().

Referenced by _initialize_ia64_linux_nat().

static int ia64_linux_stopped_data_address ( struct target_ops ops,
CORE_ADDR addr_p 
) [static]
static void ia64_linux_store_register ( const struct regcache regcache,
int  regnum 
) [static]
static void ia64_linux_store_registers ( struct target_ops ops,
struct regcache regcache,
int  regnum 
) [static]
static LONGEST ia64_linux_xfer_partial ( struct target_ops ops,
enum target_object  object,
const char *  annex,
gdb_byte readbuf,
const gdb_byte writebuf,
ULONGEST  offset,
LONGEST  len 
) [static]

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

References super_xfer_partial, and TARGET_OBJECT_UNWIND_TABLE.

Referenced by _initialize_ia64_linux_nat().

static CORE_ADDR ia64_register_addr ( struct gdbarch gdbarch,
int  regno 
) [static]

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

References _, error(), gdbarch_num_regs(), and u_offsets.

Referenced by ia64_linux_fetch_register(), and ia64_linux_store_register().

static int is_power_of_2 ( int  val) [static]

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

Referenced by ia64_linux_insert_watchpoint(), and ia64_linux_remove_watchpoint().

static void store_debug_register ( ptid_t  ptid,
int  idx,
long  val 
) [static]
static void store_debug_register_pair ( ptid_t  ptid,
int  idx,
long *  dbr_addr,
long *  dbr_mask 
) [static]
void supply_fpregset ( struct regcache regcache,
const fpregset_t fpregsetp 
)
void supply_gregset ( struct regcache regcache,
const gregset_t gregsetp 
)

Variable Documentation

long debug_registers[8] [static]

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

Referenced by _initialize_ia64_linux_nat(), and ia64_linux_xfer_partial().

int u_offsets[] [static]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines