GDBserver
Macros | Enumerations | Functions | Variables
linux-xtensa-low.c File Reference
#include "server.h"
#include "linux-low.h"
#include <asm/ptrace.h>
#include <xtensa-config.h>
#include "xtensa-xtregs.c"

Go to the source code of this file.

Macros

#define XTENSA_BREAKPOINT   {0xd2,0x0f}
 
#define xtensa_breakpoint_len   2
 

Enumerations

enum  regnum {
  R_PC =0, R_PS, R_LBEG, R_LEND,
  R_LCOUNT, R_SAR, R_WS, R_WB,
  R_A0 = 64
}
 

Functions

void init_registers_xtensa (void)
 
static void xtensa_fill_gregset (struct regcache *regcache, void *buf)
 
static void xtensa_store_gregset (struct regcache *regcache, const void *buf)
 
static void xtensa_fill_xtregset (struct regcache *regcache, void *buf)
 
static void xtensa_store_xtregset (struct regcache *regcache, const void *buf)
 
static CORE_ADDR xtensa_get_pc (struct regcache *regcache)
 
static void xtensa_set_pc (struct regcache *regcache, CORE_ADDR pc)
 
static int xtensa_breakpoint_at (CORE_ADDR where)
 
static void xtensa_arch_setup (void)
 
static const struct regs_infoxtensa_regs_info (void)
 
void initialize_low_arch (void)
 

Variables

const struct target_desctdesc_xtensa
 
static struct regset_info xtensa_regsets []
 
static const unsigned char xtensa_breakpoint [] = XTENSA_BREAKPOINT
 
static struct regsets_info xtensa_regsets_info
 
static struct regs_info regs_info
 
struct linux_target_ops the_low_target
 

Macro Definition Documentation

#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().

Enumeration Type Documentation

enum regnum
Enumerator
R_PC 
R_PS 
R_LBEG 
R_LEND 
R_LCOUNT 
R_SAR 
R_WS 
R_WB 
R_A0 

Definition at line 32 of file linux-xtensa-low.c.

Function Documentation

void init_registers_xtensa ( void  )

Referenced by initialize_low_arch().

void initialize_low_arch ( void  )

Definition at line 225 of file linux-xtensa-low.c.

References init_registers_aarch64(), and init_registers_xtensa().

static void xtensa_arch_setup ( void  )
static

Definition at line 197 of file linux-xtensa-low.c.

References current_process(), process_info::tdesc, and tdesc_xtensa.

static int xtensa_breakpoint_at ( CORE_ADDR  where)
static

Definition at line 172 of file linux-xtensa-low.c.

References target_ops::read_memory, the_target, and xtensa_breakpoint_len.

static void xtensa_fill_gregset ( struct regcache regcache,
void *  buf 
)
static
static void xtensa_fill_xtregset ( struct regcache regcache,
void *  buf 
)
static
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 const struct regs_info* xtensa_regs_info ( void  )
static

Definition at line 203 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
static void xtensa_store_xtregset ( struct regcache regcache,
const void *  buf 
)
static

Variable Documentation

struct regs_info regs_info
static
Initial value:
=
{
NULL,
NULL,
}
static struct regsets_info xtensa_regsets_info

Definition at line 189 of file linux-xtensa-low.c.

Referenced by xtensa_regs_info().

const struct target_desc* tdesc_xtensa

Referenced by xtensa_arch_setup().

struct linux_target_ops the_low_target
Initial value:
= {
0,
0,
NULL,
NULL,
0,
}
static void xtensa_set_pc(struct regcache *regcache, CORE_ADDR pc)
static CORE_ADDR xtensa_get_pc(struct regcache *regcache)
static const unsigned char xtensa_breakpoint[]
static void xtensa_arch_setup(void)
static const struct regs_info * xtensa_regs_info(void)
static int xtensa_breakpoint_at(CORE_ADDR where)
#define xtensa_breakpoint_len

Definition at line 208 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
Initial value:
= {
{ PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t),
GENERAL_REGS,
{ PTRACE_GETXTREGS, PTRACE_SETXTREGS, 0, XTENSA_ELF_XTREG_SIZE,
EXTENDED_REGS,
{ 0, 0, 0, -1, -1, NULL, NULL }
}
#define XTENSA_ELF_XTREG_SIZE
Definition: xtensa-xtregs.c:31
static void xtensa_fill_xtregset(struct regcache *regcache, void *buf)
static void xtensa_fill_gregset(struct regcache *regcache, void *buf)
static void xtensa_store_xtregset(struct regcache *regcache, const void *buf)
static void xtensa_store_gregset(struct regcache *regcache, const void *buf)

Definition at line 136 of file linux-xtensa-low.c.

struct regsets_info xtensa_regsets_info
static
Initial value:
=
{
0,
NULL,
}
static struct regset_info xtensa_regsets[]

Definition at line 182 of file linux-xtensa-low.c.