GDBserver
Classes | Defines | Typedefs | Enumerations | Functions | Variables
/home/stan/gdb/src/gdb/gdbserver/lynx-i386-low.c File Reference
#include "server.h"
#include "lynx-low.h"
#include <stdint.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

Defines

#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

struct target_desctdesc_i386
struct lynx_regset_info lynx_target_regsets []
struct lynx_target_ops the_low_target

Define Documentation

#define lynx_i386_collect_gp (   regnum,
  fld 
)
Value:
collect_register (regcache, regnum, \
                    buf + offsetof (usr_econtext_t, uec_##fld))

Referenced by lynx_i386_fill_gregset().

#define lynx_i386_supply_gp (   regnum,
  fld 
)
Value:
supply_register (regcache, regnum, \
                   buf + offsetof (usr_econtext_t, uec_##fld))

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 91 of file lynx-i386-low.c.


Function Documentation

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

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

References collect_register(), and memcpy().

Referenced by lynx_i386_fill_fpregset().

void init_registers_i386 ( void  )
static void lynx_i386_arch_setup ( void  ) [static]

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

References init_registers_i386(), and lynx_tdesc.

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 246 of file lynx-i386-low.c.

References memcpy(), memset(), and supply_register().

Referenced by lynx_i386_store_fpregset().


Variable Documentation

Initial value:
 {
  
  {PTRACE_GETREGS, PTRACE_SETREGS, sizeof(usr_econtext_t),
   lynx_i386_fill_gregset, lynx_i386_store_gregset},
  
  { PTRACE_GETFPREGS, PTRACE_SETFPREGS, sizeof(usr_fcontext_t),
    lynx_i386_fill_fpregset, lynx_i386_store_fpregset },
  
  {0, 0, -1, NULL, NULL }
}

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

Referenced by lynx_fetch_registers(), and lynx_store_registers().

Initial value:

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

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines