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

Go to the source code of this file.

Classes

union  tic6x_register

Defines

#define PTRACE_GET_THREAD_AREA   25
#define TIC6X_NUM_REGS   69
#define tic6x_breakpoint_len   4

Functions

void init_registers_tic6x_c64xp_linux (void)
void init_registers_tic6x_c64x_linux (void)
void init_registers_tic6x_c62x_linux (void)
static struct target_desctic6x_read_description (void)
static int tic6x_cannot_fetch_register (int regno)
static int tic6x_cannot_store_register (int regno)
static CORE_ADDR tic6x_get_pc (struct regcache *regcache)
static void tic6x_set_pc (struct regcache *regcache, CORE_ADDR pc)
static int tic6x_breakpoint_at (CORE_ADDR where)
ps_err_e ps_get_thread_area (const struct ps_prochandle *ph, lwpid_t lwpid, int idx, void **base)
static void tic6x_collect_register (struct regcache *regcache, int regno, union tic6x_register *reg)
static void tic6x_supply_register (struct regcache *regcache, int regno, const union tic6x_register *reg)
static void tic6x_fill_gregset (struct regcache *regcache, void *buf)
static void tic6x_store_gregset (struct regcache *regcache, const void *buf)
static void tic6x_arch_setup (void)
static struct regs_infotic6x_regs_info (void)
void initialize_low_arch (void)

Variables

struct target_desctdesc_tic6x_c64xp_linux
struct target_desctdesc_tic6x_c64x_linux
struct target_desctdesc_tic6x_c62x_linux
static int tic6x_regmap_c64xp []
static int tic6x_regmap_c64x []
static int tic6x_regmap_c62x []
struct linux_target_ops the_low_target
static int * tic6x_regmap
static unsigned int tic6x_breakpoint
static struct usrregs_info tic6x_usrregs_info
static struct regset_info tic6x_regsets []
static struct regsets_info tic6x_regsets_info
static struct regs_info regs_info

Define Documentation

#define PTRACE_GET_THREAD_AREA   25

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

Referenced by ps_get_thread_area().

#define tic6x_breakpoint_len   4

Definition at line 250 of file linux-tic6x-low.c.

#define TIC6X_NUM_REGS   69

Definition at line 35 of file linux-tic6x-low.c.

Referenced by tic6x_fill_gregset(), and tic6x_store_gregset().


Function Documentation

Referenced by initialize_low_arch().

Referenced by initialize_low_arch().

Referenced by initialize_low_arch().

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

Definition at line 269 of file linux-tic6x-low.c.

References PS_ERR, PS_OK, and PTRACE_GET_THREAD_AREA.

static void tic6x_arch_setup ( void  ) [static]
static int tic6x_breakpoint_at ( CORE_ADDR  where) [static]

Definition at line 253 of file linux-tic6x-low.c.

References target_ops::read_memory, the_target, and tic6x_breakpoint.

static int tic6x_cannot_fetch_register ( int  regno) [static]

Definition at line 221 of file linux-tic6x-low.c.

References tic6x_regmap.

static int tic6x_cannot_store_register ( int  regno) [static]

Definition at line 227 of file linux-tic6x-low.c.

References tic6x_regmap.

static void tic6x_collect_register ( struct regcache regcache,
int  regno,
union tic6x_register reg 
) [static]

Definition at line 284 of file linux-tic6x-low.c.

References collect_register(), and tic6x_register::reg32.

Referenced by tic6x_fill_gregset().

static void tic6x_fill_gregset ( struct regcache regcache,
void *  buf 
) [static]
static CORE_ADDR tic6x_get_pc ( struct regcache regcache) [static]
static struct target_desc* tic6x_read_description ( void  ) [static, read]
static struct regs_info* tic6x_regs_info ( void  ) [static, read]

Definition at line 357 of file linux-tic6x-low.c.

References regs_info.

static void tic6x_set_pc ( struct regcache regcache,
CORE_ADDR  pc 
) [static]
static void tic6x_store_gregset ( struct regcache regcache,
const void *  buf 
) [static]
static void tic6x_supply_register ( struct regcache regcache,
int  regno,
const union tic6x_register reg 
) [static]

Definition at line 294 of file linux-tic6x-low.c.

References tic6x_register::buf, offset, and supply_register().

Referenced by tic6x_store_gregset().


Variable Documentation

struct regs_info regs_info [static]
Initial value:

Definition at line 349 of file linux-tic6x-low.c.

Referenced by tic6x_regs_info().

unsigned int tic6x_breakpoint [static]

Definition at line 173 of file linux-tic6x-low.c.

Referenced by tic6x_breakpoint_at(), and tic6x_read_description().

int* tic6x_regmap [static]
int tic6x_regmap_c62x[] [static]
Initial value:
 {
  
  19, 18, 21, 20, 23, 22, 25, 24,
  27, 26, 29, 28, 31, 30, 33, 32,
  
   5,  4,  7,  6,  9,  8, 11, 10,
  13, 12, 15, 14, 17, 16, 35, 34,
  
  3, 2,
  -1, -1, -1, -1, -1, -1, -1, -1,
  -1, -1, -1, -1, -1, -1, -1, -1,
  -1, -1, -1, -1, -1, -1, -1, -1,
  -1, -1, -1, -1, -1, -1, -1, -1,
  -1, -1, -1
}

Definition at line 98 of file linux-tic6x-low.c.

Referenced by tic6x_read_description().

int tic6x_regmap_c64x[] [static]
Initial value:
 {
  
  51, 50, 53, 52, 55, 54, 57, 56,
  59, 58, 61, 60, 63, 62, 65, 64,
  
  21, 20, 23, 22, 25, 24, 27, 26,
  29, 28, 31, 30, 33, 32, 67, 66,
  
  3,  2,
  
  35, 34, 37, 36, 39, 38, 41, 40,
  43, 42, 45, 44, 47, 46, 49, 48,
  
  5,  4,  7,  6,  9,  8,  11, 10,
  13, 12, 15, 14, 17, 16, 19, 18,
  -1, -1, -1
}

Definition at line 80 of file linux-tic6x-low.c.

Referenced by tic6x_read_description().

int tic6x_regmap_c64xp[] [static]
Initial value:
 {
  
  53, 52, 55, 54, 57, 56, 59, 58,
  61, 60, 63, 62, 65, 64, 67, 66,
  
  23, 22, 25, 24, 27, 26, 29, 28,
  31, 30, 33, 32, 35, 34, 69, 68,
  
  5, 4,
  
  37, 36, 39, 38, 41, 40, 43, 42,
  45, 44, 47, 46, 49, 48, 51, 50,
  
  7,  6,  9,  8,  11, 10, 13, 12,
  15, 14, 17, 16, 19, 18, 21, 20,
  
  1,  2, 3
}

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

Referenced by tic6x_read_description().

struct regset_info tic6x_regsets[] [static]
Initial value:
 {
  { PTRACE_GETREGS, PTRACE_SETREGS, 0, TIC6X_NUM_REGS * 4, GENERAL_REGS,
    tic6x_fill_gregset, tic6x_store_gregset },
  { 0, 0, 0, -1, -1, NULL, NULL }
}

Definition at line 324 of file linux-tic6x-low.c.

struct regsets_info tic6x_regsets_info [static]
Initial value:
  {
    tic6x_regsets, 
    0, 
    NULL, 
  }

Definition at line 336 of file linux-tic6x-low.c.

Referenced by initialize_low_arch().

static struct usrregs_info tic6x_usrregs_info [static]
Initial value:
  {
    TIC6X_NUM_REGS,
    NULL, 
  }

Definition at line 176 of file linux-tic6x-low.c.

Referenced by tic6x_read_description().

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines