GDBserver
Classes | Macros | Typedefs | Enumerations | Functions | Variables
lynx-i386-low.c File Reference
#include "server.h"
#include "lynx-low.h"
#include <limits.h>
#include <sys/ptrace.h>

Go to the source code of this file.

Classes

struct  usr_econtext
 
struct  usr_fcontext
 
struct  usr_fcontext::ufp387_real
 
struct  usr_fcontext::uxmm_register
 

Macros

#define lynx_i386_collect_gp(regnum, fld)
 
#define lynx_i386_supply_gp(regnum, fld)
 

Typedefs

typedef struct usr_econtext usr_econtext_t
 
typedef struct usr_fcontext usr_fcontext_t
 

Enumerations

enum  lynx_i386_gdb_regnum {
  I386_EAX_REGNUM, I386_ECX_REGNUM, I386_EDX_REGNUM, I386_EBX_REGNUM,
  I386_ESP_REGNUM, I386_EBP_REGNUM, I386_ESI_REGNUM, I386_EDI_REGNUM,
  I386_EIP_REGNUM, I386_EFLAGS_REGNUM, I386_CS_REGNUM, I386_SS_REGNUM,
  I386_DS_REGNUM, I386_ES_REGNUM, I386_FS_REGNUM, I386_GS_REGNUM,
  I386_ST0_REGNUM, I386_FCTRL_REGNUM = I386_ST0_REGNUM + 8, I386_FSTAT_REGNUM, I386_FTAG_REGNUM,
  I386_FISEG_REGNUM, I386_FIOFF_REGNUM, I386_FOSEG_REGNUM, I386_FOOFF_REGNUM,
  I386_FOP_REGNUM, I386_XMM0_REGNUM = 32, I386_MXCSR_REGNUM = I386_XMM0_REGNUM + 8, I386_SENTINEL_REGUM
}
 

Functions

void init_registers_i386 (void)
 
static void lynx_i386_fill_gregset (struct regcache *regcache, char *buf)
 
static void lynx_i386_store_gregset (struct regcache *regcache, const char *buf)
 
static void collect_16bit_register (struct regcache *regcache, int regnum, char *dest)
 
static void lynx_i386_fill_fpregset (struct regcache *regcache, char *buf)
 
static void supply_16bit_register (struct regcache *regcache, int regnum, const char *buf)
 
static void lynx_i386_store_fpregset (struct regcache *regcache, const char *buf)
 
static void lynx_i386_arch_setup (void)
 

Variables

const struct target_desctdesc_i386
 
struct lynx_regset_info lynx_target_regsets []
 
struct lynx_target_ops the_low_target
 

Macro Definition Documentation

#define lynx_i386_collect_gp (   regnum,
  fld 
)
Value:
buf + offsetof (usr_econtext_t, uec_##fld))
void collect_register(struct regcache *regcache, int n, void *buf)
Definition: regcache.c:414
regnum

Referenced by lynx_i386_fill_gregset().

#define lynx_i386_supply_gp (   regnum,
  fld 
)
Value:
buf + offsetof (usr_econtext_t, uec_##fld))
regnum
void supply_register(struct regcache *regcache, int n, const void *buf)
Definition: regcache.c:330

Referenced by lynx_i386_store_gregset().

Typedef Documentation

typedef struct usr_econtext usr_econtext_t
typedef struct usr_fcontext usr_fcontext_t

Enumeration Type Documentation

Enumerator
I386_EAX_REGNUM 
I386_ECX_REGNUM 
I386_EDX_REGNUM 
I386_EBX_REGNUM 
I386_ESP_REGNUM 
I386_EBP_REGNUM 
I386_ESI_REGNUM 
I386_EDI_REGNUM 
I386_EIP_REGNUM 
I386_EFLAGS_REGNUM 
I386_CS_REGNUM 
I386_SS_REGNUM 
I386_DS_REGNUM 
I386_ES_REGNUM 
I386_FS_REGNUM 
I386_GS_REGNUM 
I386_ST0_REGNUM 
I386_FCTRL_REGNUM 
I386_FSTAT_REGNUM 
I386_FTAG_REGNUM 
I386_FISEG_REGNUM 
I386_FIOFF_REGNUM 
I386_FOSEG_REGNUM 
I386_FOOFF_REGNUM 
I386_FOP_REGNUM 
I386_XMM0_REGNUM 
I386_MXCSR_REGNUM 
I386_SENTINEL_REGUM 

Definition at line 89 of file lynx-i386-low.c.

Function Documentation

static void collect_16bit_register ( struct regcache regcache,
int  regnum,
char *  dest 
)
static

Definition at line 187 of file lynx-i386-low.c.

References collect_register().

Referenced by lynx_i386_fill_fpregset().

void init_registers_i386 ( void  )

Referenced by lynx_i386_arch_setup().

static void lynx_i386_arch_setup ( void  )
static

Definition at line 296 of file lynx-i386-low.c.

References init_registers_i386(), lynx_tdesc, and tdesc_i386.

static void lynx_i386_fill_fpregset ( struct regcache regcache,
char *  buf 
)
static
static void lynx_i386_fill_gregset ( struct regcache regcache,
char *  buf 
)
static
static void lynx_i386_store_fpregset ( struct regcache regcache,
const char *  buf 
)
static
static void lynx_i386_store_gregset ( struct regcache regcache,
const char *  buf 
)
static
static void supply_16bit_register ( struct regcache regcache,
int  regnum,
const char *  buf 
)
static

Definition at line 244 of file lynx-i386-low.c.

References supply_register().

Referenced by lynx_i386_store_fpregset().

Variable Documentation

struct lynx_regset_info lynx_target_regsets[]
Initial value:
= {
{PTRACE_GETREGS, PTRACE_SETREGS, sizeof(usr_econtext_t),
{ PTRACE_GETFPREGS, PTRACE_SETFPREGS, sizeof(usr_fcontext_t),
{0, 0, -1, NULL, NULL }
}
static void lynx_i386_store_fpregset(struct regcache *regcache, const char *buf)
static void lynx_i386_fill_gregset(struct regcache *regcache, char *buf)
struct usr_fcontext usr_fcontext_t
static void lynx_i386_store_gregset(struct regcache *regcache, const char *buf)
struct usr_econtext usr_econtext_t
static void lynx_i386_fill_fpregset(struct regcache *regcache, char *buf)

Definition at line 304 of file lynx-i386-low.c.

Referenced by lynx_fetch_registers(), and lynx_store_registers().

const struct target_desc* tdesc_i386

Referenced by lynx_i386_arch_setup().

struct lynx_target_ops the_low_target
Initial value:
= {
}
static void lynx_i386_arch_setup(void)

Definition at line 317 of file lynx-i386-low.c.