GDBserver
|
#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.
#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().
void init_registers_tic6x_c62x_linux | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_tic6x_c64x_linux | ( | void | ) |
Referenced by initialize_low_arch().
void init_registers_tic6x_c64xp_linux | ( | void | ) |
Referenced by initialize_low_arch().
void initialize_low_arch | ( | void | ) |
Definition at line 378 of file linux-tic6x-low.c.
References init_registers_tic6x_c62x_linux(), init_registers_tic6x_c64x_linux(), init_registers_tic6x_c64xp_linux(), and tic6x_regsets_info.
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] |
Definition at line 331 of file linux-tic6x-low.c.
References current_process(), process_info::tdesc, and tic6x_read_description().
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] |
Definition at line 303 of file linux-tic6x-low.c.
References tic6x_register::buf, tic6x_collect_register(), TIC6X_NUM_REGS, and tic6x_regmap.
static CORE_ADDR tic6x_get_pc | ( | struct regcache * | regcache | ) | [static] |
Definition at line 233 of file linux-tic6x-low.c.
References tic6x_register::buf, collect_register_by_name(), and tic6x_register::reg32.
static struct target_desc* tic6x_read_description | ( | void | ) | [static, read] |
Definition at line 179 of file linux-tic6x-low.c.
References error(), usrregs_info::regmap, tic6x_breakpoint, tic6x_regmap, tic6x_regmap_c62x, tic6x_regmap_c64x, tic6x_regmap_c64xp, and tic6x_usrregs_info.
Referenced by tic6x_arch_setup().
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] |
Definition at line 242 of file linux-tic6x-low.c.
References tic6x_register::buf, tic6x_register::reg32, and supply_register_by_name().
static void tic6x_store_gregset | ( | struct regcache * | regcache, |
const void * | buf | ||
) | [static] |
Definition at line 314 of file linux-tic6x-low.c.
References tic6x_register::buf, TIC6X_NUM_REGS, tic6x_regmap, and tic6x_supply_register().
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().
{ NULL, &tic6x_usrregs_info, &tic6x_regsets_info }
Definition at line 349 of file linux-tic6x-low.c.
Referenced by tic6x_regs_info().
struct target_desc* tdesc_tic6x_c62x_linux |
struct target_desc* tdesc_tic6x_c64x_linux |
struct target_desc* tdesc_tic6x_c64xp_linux |
struct linux_target_ops the_low_target |
{ tic6x_arch_setup, tic6x_regs_info, tic6x_cannot_fetch_register, tic6x_cannot_store_register, NULL, tic6x_get_pc, tic6x_set_pc, (const unsigned char *) &tic6x_breakpoint, tic6x_breakpoint_len, NULL, 0, tic6x_breakpoint_at, }
Definition at line 362 of file linux-tic6x-low.c.
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] |
Definition at line 172 of file linux-tic6x-low.c.
Referenced by tic6x_cannot_fetch_register(), tic6x_cannot_store_register(), tic6x_fill_gregset(), tic6x_read_description(), and tic6x_store_gregset().
int tic6x_regmap_c62x[] [static] |
{ 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] |
{ 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] |
{ 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] |
{ { 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] |
{ 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] |
{ TIC6X_NUM_REGS, NULL, }
Definition at line 176 of file linux-tic6x-low.c.
Referenced by tic6x_read_description().