GDB (API)
Defines | Functions | Variables
/home/stan/gdb/src/gdb/sparc-tdep.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include "dis-asm.h"
#include "dwarf2-frame.h"
#include "floatformat.h"
#include "frame.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "gdbtypes.h"
#include "inferior.h"
#include "symtab.h"
#include "objfiles.h"
#include "osabi.h"
#include "regcache.h"
#include "target.h"
#include "value.h"
#include "gdb_assert.h"
#include "gdb_string.h"
#include "sparc-tdep.h"
#include "sparc-ravenscar-thread.h"

Go to the source code of this file.

Defines

#define floatformats_sparc_quad   floatformats_ia64_quad
#define BIAS   2047
#define X_OP(i)   (((i) >> 30) & 0x3)
#define X_RD(i)   (((i) >> 25) & 0x1f)
#define X_A(i)   (((i) >> 29) & 1)
#define X_COND(i)   (((i) >> 25) & 0xf)
#define X_OP2(i)   (((i) >> 22) & 0x7)
#define X_IMM22(i)   ((i) & 0x3fffff)
#define X_OP3(i)   (((i) >> 19) & 0x3f)
#define X_RS1(i)   (((i) >> 14) & 0x1f)
#define X_RS2(i)   ((i) & 0x1f)
#define X_I(i)   (((i) >> 13) & 1)
#define X_DISP22(i)   ((X_IMM22 (i) ^ 0x200000) - 0x200000)
#define X_DISP19(i)   ((((i) & 0x7ffff) ^ 0x40000) - 0x40000)
#define X_DISP10(i)   ((((((i) >> 11) && 0x300) | (((i) >> 5) & 0xff)) ^ 0x200) - 0x200)
#define X_SIMM13(i)   ((((i) & 0x1fff) ^ 0x1000) - 0x1000)
#define SPARC32_NUM_REGS   ARRAY_SIZE (sparc32_register_names)
#define SPARC32_NUM_PSEUDO_REGS   ARRAY_SIZE (sparc32_pseudo_register_names)

Functions

unsigned long sparc_fetch_instruction (CORE_ADDR pc)
ULONGEST sparc_fetch_wcookie (struct gdbarch *gdbarch)
void sparc_record_save_insn (struct sparc_frame_cache *cache)
CORE_ADDR sparc_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR current_pc, struct sparc_frame_cache *cache)
struct sparc_frame_cachesparc_frame_cache (struct frame_info *this_frame, void **this_cache)
struct sparc_frame_cachesparc32_frame_cache (struct frame_info *this_frame, void **this_cache)
int sparc_software_single_step (struct frame_info *frame)
void sparc_supply_rwindow (struct regcache *regcache, CORE_ADDR sp, int regnum)
void sparc_collect_rwindow (const struct regcache *regcache, CORE_ADDR sp, int regnum)
void sparc32_supply_gregset (const struct sparc_gregset *gregset, struct regcache *regcache, int regnum, const void *gregs)
void sparc32_collect_gregset (const struct sparc_gregset *gregset, const struct regcache *regcache, int regnum, void *gregs)
void sparc32_supply_fpregset (const struct sparc_fpregset *fpregset, struct regcache *regcache, int regnum, const void *fpregs)
void sparc32_collect_fpregset (const struct sparc_fpregset *fpregset, const struct regcache *regcache, int regnum, void *fpregs)
void _initialize_sparc_tdep (void)

Variables

struct sparc_gregset sparc32_sunos4_gregset
struct sparc_fpregset sparc32_sunos4_fpregset
struct sparc_fpregset sparc32_bsd_fpregset

Define Documentation

#define BIAS   2047

Definition at line 73 of file sparc-tdep.c.

Definition at line 67 of file sparc-tdep.c.

#define SPARC32_NUM_PSEUDO_REGS   ARRAY_SIZE (sparc32_pseudo_register_names)

Definition at line 296 of file sparc-tdep.c.

#define SPARC32_NUM_REGS   ARRAY_SIZE (sparc32_register_names)

Definition at line 284 of file sparc-tdep.c.

#define X_A (   i)    (((i) >> 29) & 1)

Definition at line 78 of file sparc-tdep.c.

#define X_COND (   i)    (((i) >> 25) & 0xf)

Definition at line 79 of file sparc-tdep.c.

#define X_DISP10 (   i)    ((((((i) >> 11) && 0x300) | (((i) >> 5) & 0xff)) ^ 0x200) - 0x200)

Definition at line 89 of file sparc-tdep.c.

#define X_DISP19 (   i)    ((((i) & 0x7ffff) ^ 0x40000) - 0x40000)

Definition at line 88 of file sparc-tdep.c.

#define X_DISP22 (   i)    ((X_IMM22 (i) ^ 0x200000) - 0x200000)

Definition at line 87 of file sparc-tdep.c.

#define X_I (   i)    (((i) >> 13) & 1)

Definition at line 85 of file sparc-tdep.c.

#define X_IMM22 (   i)    ((i) & 0x3fffff)

Definition at line 81 of file sparc-tdep.c.

#define X_OP (   i)    (((i) >> 30) & 0x3)

Definition at line 76 of file sparc-tdep.c.

#define X_OP2 (   i)    (((i) >> 22) & 0x7)

Definition at line 80 of file sparc-tdep.c.

#define X_OP3 (   i)    (((i) >> 19) & 0x3f)

Definition at line 82 of file sparc-tdep.c.

#define X_RD (   i)    (((i) >> 25) & 0x1f)

Definition at line 77 of file sparc-tdep.c.

#define X_RS1 (   i)    (((i) >> 14) & 0x1f)

Definition at line 83 of file sparc-tdep.c.

#define X_RS2 (   i)    ((i) & 0x1f)

Definition at line 84 of file sparc-tdep.c.

#define X_SIMM13 (   i)    ((((i) & 0x1fff) ^ 0x1000) - 0x1000)

Definition at line 90 of file sparc-tdep.c.


Function Documentation

void _initialize_sparc_tdep ( void  )
void sparc32_collect_fpregset ( const struct sparc_fpregset fpregset,
const struct regcache *  regcache,
int  regnum,
void *  fpregs 
)

Definition at line 1985 of file sparc-tdep.c.

void sparc32_collect_gregset ( const struct sparc_gregset gregset,
const struct regcache *  regcache,
int  regnum,
void *  gregs 
)

Definition at line 1910 of file sparc-tdep.c.

struct sparc_frame_cache* sparc32_frame_cache ( struct frame_info *  this_frame,
void **  this_cache 
) [read]

Definition at line 1101 of file sparc-tdep.c.

void sparc32_supply_fpregset ( const struct sparc_fpregset fpregset,
struct regcache *  regcache,
int  regnum,
const void *  fpregs 
)

Definition at line 1965 of file sparc-tdep.c.

void sparc32_supply_gregset ( const struct sparc_gregset gregset,
struct regcache *  regcache,
int  regnum,
const void *  gregs 
)

Definition at line 1845 of file sparc-tdep.c.

CORE_ADDR sparc_analyze_prologue ( struct gdbarch *  gdbarch,
CORE_ADDR  pc,
CORE_ADDR  current_pc,
struct sparc_frame_cache cache 
)

Definition at line 835 of file sparc-tdep.c.

void sparc_collect_rwindow ( const struct regcache *  regcache,
CORE_ADDR  sp,
int  regnum 
)

Definition at line 1774 of file sparc-tdep.c.

unsigned long sparc_fetch_instruction ( CORE_ADDR  pc)

Definition at line 96 of file sparc-tdep.c.

ULONGEST sparc_fetch_wcookie ( struct gdbarch *  gdbarch)

Definition at line 156 of file sparc-tdep.c.

struct sparc_frame_cache* sparc_frame_cache ( struct frame_info *  this_frame,
void **  this_cache 
) [read]

Definition at line 1044 of file sparc-tdep.c.

void sparc_record_save_insn ( struct sparc_frame_cache cache)

Definition at line 812 of file sparc-tdep.c.

int sparc_software_single_step ( struct frame_info *  frame)

Definition at line 1556 of file sparc-tdep.c.

void sparc_supply_rwindow ( struct regcache *  regcache,
CORE_ADDR  sp,
int  regnum 
)

Definition at line 1701 of file sparc-tdep.c.


Variable Documentation

Initial value:
{
  0 * 4,                        
  32 * 4,                       
}

Definition at line 2026 of file sparc-tdep.c.

Initial value:
{
  0 * 4,                        
  33 * 4,                       
}

Definition at line 2020 of file sparc-tdep.c.

Initial value:
{
  0 * 4,                        
  1 * 4,                        
  2 * 4,                        
  3 * 4,                        
  -1,                           
  -1,                           
  4 * 4,                        
  -1                            
}

Definition at line 2008 of file sparc-tdep.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines