#ifndef SPARC64_TDEP_H
#define SPARC64_TDEP_H 1
struct frame_info;
struct gdbarch;
struct regcache;
struct sparc_gregset;
struct trad_frame_saved_reg;
#include "sparc-tdep.h"
#undef BIAS
#define BIAS 2047
#define r_tstate_offset r_psr_offset
#define r_fprs_offset r_wim_offset
enum sparc64_regnum
{
SPARC64_F32_REGNUM
= SPARC_F0_REGNUM + 32,
SPARC64_F62_REGNUM
= SPARC64_F32_REGNUM + 15,
SPARC64_PC_REGNUM,
SPARC64_NPC_REGNUM,
SPARC64_STATE_REGNUM,
SPARC64_FSR_REGNUM,
SPARC64_FPRS_REGNUM,
SPARC64_Y_REGNUM,
SPARC64_CWP_REGNUM,
SPARC64_PSTATE_REGNUM,
SPARC64_ASI_REGNUM,
SPARC64_CCR_REGNUM,
SPARC64_D0_REGNUM,
SPARC64_D10_REGNUM
= SPARC64_D0_REGNUM + 5,
SPARC64_D30_REGNUM
= SPARC64_D0_REGNUM + 15,
SPARC64_D32_REGNUM
= SPARC64_D0_REGNUM + 16,
SPARC64_D62_REGNUM
= SPARC64_D0_REGNUM + 31,
SPARC64_Q0_REGNUM,
SPARC64_Q8_REGNUM
= SPARC64_Q0_REGNUM + 2,
SPARC64_Q28_REGNUM
= SPARC64_Q0_REGNUM + 7,
SPARC64_Q32_REGNUM
= SPARC64_Q0_REGNUM + 8,
SPARC64_Q60_REGNUM
= SPARC64_Q0_REGNUM + 15
};
extern void sparc64_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch);
extern void sparc64_supply_gregset (const struct sparc_gregset *gregset,
struct regcache *regcache,
int regnum, const void *gregs);
extern void sparc64_collect_gregset (const struct sparc_gregset *gregset,
const struct regcache *regcache,
int regnum, void *gregs);
extern void sparc64_supply_fpregset (struct regcache *regcache,
int regnum, const void *fpregs);
extern void sparc64_collect_fpregset (const struct regcache *regcache,
int regnum, void *fpregs);
extern const struct sparc_gregset sparc64_sol2_gregset;
extern void sparc64_sol2_init_abi (struct gdbarch_info info,
struct gdbarch *gdbarch);
extern const struct sparc_gregset sparc64fbsd_gregset;
extern const struct sparc_gregset sparc64nbsd_gregset;
extern struct trad_frame_saved_reg *
sparc64nbsd_sigcontext_saved_regs (CORE_ADDR sigcontext_addr,
struct frame_info *next_frame);
#endif