GDBserver
|
#include "server.h"
#include "linux-low.h"
#include <sys/ptrace.h>
#include <xtensa-config.h>
#include "xtensa-xtregs.c"
Go to the source code of this file.
#define XTENSA_BREAKPOINT {0xd2,0x0f} |
Definition at line 147 of file linux-xtensa-low.c.
#define xtensa_breakpoint_len 2 |
Definition at line 153 of file linux-xtensa-low.c.
Referenced by xtensa_breakpoint_at().
enum regnum |
Definition at line 32 of file linux-xtensa-low.c.
void init_registers_xtensa | ( | void | ) |
Referenced by initialize_low_arch().
void initialize_low_arch | ( | void | ) |
Definition at line 231 of file linux-xtensa-low.c.
References init_registers_aarch64(), and init_registers_xtensa().
static void xtensa_arch_setup | ( | void | ) | [static] |
Definition at line 203 of file linux-xtensa-low.c.
References current_process(), and process_info::tdesc.
static int xtensa_breakpoint_at | ( | CORE_ADDR | where | ) | [static] |
Definition at line 172 of file linux-xtensa-low.c.
References memcmp(), target_ops::read_memory, the_target, and xtensa_breakpoint_len.
static void xtensa_fill_gregset | ( | struct regcache * | regcache, |
void * | buf | ||
) | [static] |
Definition at line 41 of file linux-xtensa-low.c.
References collect_register(), collect_register_by_name(), find_regno(), R_A0, R_LBEG, R_LCOUNT, R_LEND, R_PC, R_PS, R_SAR, R_WB, R_WS, register_size(), and regcache::tdesc.
static void xtensa_fill_xtregset | ( | struct regcache * | regcache, |
void * | buf | ||
) | [static] |
Definition at line 113 of file linux-xtensa-low.c.
References collect_register_by_name(), xtensa_regtable_t::name, xtensa_regtable_t::ptrace_offset, and xtensa_regmap_table.
static CORE_ADDR xtensa_get_pc | ( | struct regcache * | regcache | ) | [static] |
Definition at line 156 of file linux-xtensa-low.c.
References collect_register_by_name().
static struct regs_info* xtensa_regs_info | ( | void | ) | [static, read] |
Definition at line 209 of file linux-xtensa-low.c.
References regs_info.
static void xtensa_set_pc | ( | struct regcache * | regcache, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 165 of file linux-xtensa-low.c.
References supply_register_by_name().
static void xtensa_store_gregset | ( | struct regcache * | regcache, |
const void * | buf | ||
) | [static] |
Definition at line 76 of file linux-xtensa-low.c.
References find_regno(), R_A0, R_LBEG, R_LCOUNT, R_LEND, R_PC, R_PS, R_SAR, R_WB, R_WS, register_size(), supply_register(), supply_register_by_name(), and regcache::tdesc.
static void xtensa_store_xtregset | ( | struct regcache * | regcache, |
const void * | buf | ||
) | [static] |
Definition at line 125 of file linux-xtensa-low.c.
References xtensa_regtable_t::name, xtensa_regtable_t::ptrace_offset, supply_register_by_name(), and xtensa_regmap_table.
{ NULL, &xtensa_usrregs_info, &xtensa_regsets_info }
Definition at line 195 of file linux-xtensa-low.c.
Referenced by xtensa_regs_info().
struct target_desc* tdesc_xtensa |
struct linux_target_ops the_low_target |
{ xtensa_arch_setup, xtensa_regs_info, 0, 0, NULL, xtensa_get_pc, xtensa_set_pc, xtensa_breakpoint, xtensa_breakpoint_len, NULL, 0, xtensa_breakpoint_at, }
Definition at line 214 of file linux-xtensa-low.c.
const unsigned char xtensa_breakpoint[] = XTENSA_BREAKPOINT [static] |
Definition at line 152 of file linux-xtensa-low.c.
struct regset_info xtensa_regsets[] [static] |
{ { PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t), GENERAL_REGS, xtensa_fill_gregset, xtensa_store_gregset }, { PTRACE_GETXTREGS, PTRACE_SETXTREGS, 0, XTENSA_ELF_XTREG_SIZE, EXTENDED_REGS, xtensa_fill_xtregset, xtensa_store_xtregset }, { 0, 0, 0, -1, -1, NULL, NULL } }
Definition at line 136 of file linux-xtensa-low.c.
struct regsets_info xtensa_regsets_info [static] |
{ xtensa_regsets, 0, NULL, }
Definition at line 182 of file linux-xtensa-low.c.
struct usrregs_info xtensa_usrregs_info [static] |
{ xtensa_num_regs, xtensa_regmap, }
Definition at line 189 of file linux-xtensa-low.c.