GDBserver
Defines | Functions | Variables
/home/stan/gdb/src/gdb/gdbserver/linux-crisv32-low.c File Reference
#include "server.h"
#include "linux-low.h"
#include <sys/ptrace.h>

Go to the source code of this file.

Defines

#define cris_num_regs   49
#define PTRACE_GET_THREAD_AREA   25
#define cris_breakpoint_len   2

Functions

void init_registers_crisv32 (void)
static CORE_ADDR cris_get_pc (struct regcache *regcache)
static void cris_set_pc (struct regcache *regcache, CORE_ADDR pc)
static int cris_breakpoint_at (CORE_ADDR where)
static CORE_ADDR cris_reinsert_addr (void)
static void cris_write_data_breakpoint (struct regcache *regcache, int bp, unsigned long start, unsigned long end)
static int cris_insert_point (char type, CORE_ADDR addr, int len)
static int cris_remove_point (char type, CORE_ADDR addr, int len)
static int cris_stopped_by_watchpoint (void)
static CORE_ADDR cris_stopped_data_address (void)
ps_err_e ps_get_thread_area (const struct ps_prochandle *ph, lwpid_t lwpid, int idx, void **base)
static void cris_fill_gregset (struct regcache *regcache, void *buf)
static void cris_store_gregset (struct regcache *regcache, const void *buf)
static void cris_arch_setup (void)
static struct regs_infocris_regs_info (void)
void initialize_low_arch (void)

Variables

struct target_desctdesc_crisv32
static int cris_regmap []
int debug_threads
static const unsigned short cris_breakpoint = 0xe938
static struct regset_info cris_regsets []
static struct regsets_info cris_regsets_info
static struct usrregs_info cris_usrregs_info
static struct regs_info regs_info
struct linux_target_ops the_low_target

Define Documentation

#define cris_breakpoint_len   2

Definition at line 78 of file linux-crisv32-low.c.

Referenced by cris_breakpoint_at().

#define cris_num_regs   49

Definition at line 28 of file linux-crisv32-low.c.

Referenced by cris_fill_gregset(), and cris_store_gregset().

#define PTRACE_GET_THREAD_AREA   25

Definition at line 31 of file linux-crisv32-low.c.

Referenced by ps_get_thread_area().


Function Documentation

static void cris_arch_setup ( void  ) [static]

Definition at line 385 of file linux-crisv32-low.c.

References current_process(), and process_info::tdesc.

static int cris_breakpoint_at ( CORE_ADDR  where) [static]
static void cris_fill_gregset ( struct regcache regcache,
void *  buf 
) [static]

Definition at line 361 of file linux-crisv32-low.c.

References collect_register(), cris_num_regs, and cris_regmap.

static CORE_ADDR cris_get_pc ( struct regcache regcache) [static]

Definition at line 61 of file linux-crisv32-low.c.

References collect_register_by_name(), and debug_threads.

static int cris_insert_point ( char  type,
CORE_ADDR  addr,
int  len 
) [static]
static struct regs_info* cris_regs_info ( void  ) [static, read]

Definition at line 418 of file linux-crisv32-low.c.

References regs_info.

static CORE_ADDR cris_reinsert_addr ( void  ) [static]
static int cris_remove_point ( char  type,
CORE_ADDR  addr,
int  len 
) [static]
static void cris_set_pc ( struct regcache regcache,
CORE_ADDR  pc 
) [static]

Definition at line 71 of file linux-crisv32-low.c.

References supply_register_by_name().

static int cris_stopped_by_watchpoint ( void  ) [static]
static CORE_ADDR cris_stopped_data_address ( void  ) [static]
static void cris_store_gregset ( struct regcache regcache,
const void *  buf 
) [static]

Definition at line 373 of file linux-crisv32-low.c.

References cris_num_regs, cris_regmap, and supply_register().

static void cris_write_data_breakpoint ( struct regcache regcache,
int  bp,
unsigned long  start,
unsigned long  end 
) [static]

Definition at line 113 of file linux-crisv32-low.c.

References supply_register_by_name().

Referenced by cris_insert_point(), and cris_remove_point().

void init_registers_crisv32 ( void  )

Referenced by initialize_low_arch().

void initialize_low_arch ( void  )

Definition at line 443 of file linux-crisv32-low.c.

References cris_regsets_info, and init_registers_crisv32().

ps_err_e ps_get_thread_area ( const struct ps_prochandle ph,
lwpid_t  lwpid,
int  idx,
void **  base 
)

Definition at line 347 of file linux-crisv32-low.c.

References PS_ERR, PS_OK, and PTRACE_GET_THREAD_AREA.


Variable Documentation

const unsigned short cris_breakpoint = 0xe938 [static]

Definition at line 77 of file linux-crisv32-low.c.

Referenced by cris_breakpoint_at().

int cris_regmap[] [static]
Initial value:
 {
  1*4, 2*4, 3*4, 4*4,
  5*4, 6*4, 7*4, 8*4,
  9*4, 10*4, 11*4, 12*4,
  13*4, 14*4, 24*4, 15*4,

  -1, -1, -1, 16*4,
  -1, 22*4, 23*4, 17*4,
  -1, -1, 21*4, 20*4,
  -1, 19*4, -1, 18*4,

  25*4,

  26*4, -1,   -1,   29*4,
  30*4, 31*4, 32*4, 33*4,
  34*4, 35*4, 36*4, 37*4,
  38*4, 39*4, 40*4, -1

}

Definition at line 38 of file linux-crisv32-low.c.

Referenced by cris_fill_gregset(), and cris_store_gregset().

struct regset_info cris_regsets[] [static]
Initial value:
 {
  { PTRACE_GETREGS, PTRACE_SETREGS, 0, cris_num_regs * 4,
    GENERAL_REGS, cris_fill_gregset, cris_store_gregset },
  { 0, 0, 0, -1, -1, NULL, NULL }
}

Definition at line 390 of file linux-crisv32-low.c.

struct regsets_info cris_regsets_info [static]
Initial value:
  {
    cris_regsets, 
    0, 
    NULL, 
  }

Definition at line 397 of file linux-crisv32-low.c.

Referenced by initialize_low_arch().

Initial value:

Definition at line 404 of file linux-crisv32-low.c.

Definition at line 71 of file server.c.

struct regs_info regs_info [static]
Initial value:

Definition at line 410 of file linux-crisv32-low.c.

Referenced by cris_regs_info().

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines