GDB (xrefs)

Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/sparc64-tdep.h File Reference
`#include "sparc-tdep.h"`

Go to the source code of this file.

## Macros
#define | BIAS 2047
#define | r_tstate_offset r_psr_offset
#define | r_fprs_offset r_wim_offset
#define | SPARC64_PSTATE_AG 0x001
#define | SPARC64_PSTATE_IE 0x002
#define | SPARC64_PSTATE_PRIV 0x004
#define | SPARC64_PSTATE_AM 0x008
#define | SPARC64_PSTATE_PEF 0x010
#define | SPARC64_PSTATE_RED 0x020
#define | SPARC64_PSTATE_TLE 0x100
#define | SPARC64_PSTATE_CLE 0x200
#define | SPARC64_PSTATE_PID0 0x400
#define | SPARC64_PSTATE_PID1 0x800

## Enumerations
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 }
enum | sparc64_pseudo_regnum { SPARC64_CWP_REGNUM = 0, 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 }

## Functions
void | sparc64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
void | sparc64_supply_gregset (const struct sparc_gregmap *gregmap, struct regcache *regcache, int regnum, const void *gregs)
void | sparc64_collect_gregset (const struct sparc_gregmap *gregmap, const struct regcache *regcache, int regnum, void *gregs)
void | sparc64_supply_fpregset (const struct sparc_fpregmap *fpregmap, struct regcache *regcache, int regnum, const void *fpregs)
void | sparc64_collect_fpregset (const struct sparc_fpregmap *fpregmap, const struct regcache *regcache, int regnum, void *fpregs)
void | sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
struct trad_frame_saved_reg * | sparc64nbsd_sigcontext_saved_regs (CORE_ADDR sigcontext_addr, struct frame_info *next_frame)
void | sparc64_forget_process (pid_t pid)

## Variables
const struct sparc_gregmap | sparc64_sol2_gregmap
const struct sparc_fpregmap | sparc64_sol2_fpregmap
const struct sparc_gregmap | sparc64fbsd_gregmap
const struct sparc_gregmap | sparc64nbsd_gregmap
const struct sparc_fpregmap | sparc64_bsd_fpregmap

## Macro Definition Documentation

## ◆ BIAS

#define BIAS 2047

Definition at line 35 of file sparc64-tdep.h.

## ◆ r_fprs_offset

#define r_fprs_offset r_wim_offset

Definition at line 43 of file sparc64-tdep.h.

## ◆ r_tstate_offset

#define r_tstate_offset r_psr_offset

Definition at line 40 of file sparc64-tdep.h.

## ◆ SPARC64_PSTATE_AG

#define SPARC64_PSTATE_AG 0x001

Definition at line 89 of file sparc64-tdep.h.

## ◆ SPARC64_PSTATE_AM

#define SPARC64_PSTATE_AM 0x008

Definition at line 92 of file sparc64-tdep.h.

## ◆ SPARC64_PSTATE_CLE

#define SPARC64_PSTATE_CLE 0x200

Definition at line 96 of file sparc64-tdep.h.

## ◆ SPARC64_PSTATE_IE

#define SPARC64_PSTATE_IE 0x002

Definition at line 90 of file sparc64-tdep.h.

## ◆ SPARC64_PSTATE_PEF

#define SPARC64_PSTATE_PEF 0x010

Definition at line 93 of file sparc64-tdep.h.

## ◆ SPARC64_PSTATE_PID0

#define SPARC64_PSTATE_PID0 0x400

Definition at line 97 of file sparc64-tdep.h.

## ◆ SPARC64_PSTATE_PID1

#define SPARC64_PSTATE_PID1 0x800

Definition at line 98 of file sparc64-tdep.h.

## ◆ SPARC64_PSTATE_PRIV

#define SPARC64_PSTATE_PRIV 0x004

Definition at line 91 of file sparc64-tdep.h.

Referenced by sparc64obsd_trapframe_sniffer().

## ◆ SPARC64_PSTATE_RED

#define SPARC64_PSTATE_RED 0x020

Definition at line 94 of file sparc64-tdep.h.

## ◆ SPARC64_PSTATE_TLE

#define SPARC64_PSTATE_TLE 0x100

Definition at line 95 of file sparc64-tdep.h.

## Enumeration Type Documentation

## ◆ sparc64_pseudo_regnum

enum sparc64_pseudo_regnum

Enumerator
SPARC64_CWP_REGNUM |
SPARC64_PSTATE_REGNUM |
SPARC64_ASI_REGNUM |
SPARC64_CCR_REGNUM |
SPARC64_D0_REGNUM |
SPARC64_D10_REGNUM |
SPARC64_D30_REGNUM |
SPARC64_D32_REGNUM |
SPARC64_D62_REGNUM |
SPARC64_Q0_REGNUM |
SPARC64_Q8_REGNUM |
SPARC64_Q28_REGNUM |
SPARC64_Q32_REGNUM |
SPARC64_Q60_REGNUM |

Definition at line 62 of file sparc64-tdep.h.

## ◆ sparc64_regnum

enum sparc64_regnum

Enumerator
SPARC64_F32_REGNUM |
SPARC64_F62_REGNUM |
SPARC64_PC_REGNUM |
SPARC64_NPC_REGNUM |
SPARC64_STATE_REGNUM |
SPARC64_FSR_REGNUM |
SPARC64_FPRS_REGNUM |
SPARC64_Y_REGNUM |

Definition at line 47 of file sparc64-tdep.h.

## Function Documentation

## ◆ sparc64_collect_fpregset()

void sparc64_collect_fpregset | ( | const struct sparc_fpregmap * | fpregmap,
|  | const struct regcache * | regcache,
|  | int | regnum,
|  | void * | fpregs
| ) |  |

Definition at line 2143 of file sparc64-tdep.c.

References regcache::arch(), gdbarch_ptr_bit(), sparc_fpregmap::r_f0_offset, sparc_fpregmap::r_fsr_offset, regcache_raw_collect(), regnum, SPARC32_FSR_REGNUM, SPARC64_F32_REGNUM, SPARC64_FSR_REGNUM, and SPARC_F0_REGNUM.

Referenced by _initialize_sparc64_nat(), _initialize_sparc64obsd_nat(), fill_fpregset(), sparc64_linux_collect_core_fpregset(), sparc64_sol2_collect_core_fpregset(), sparc64fbsd_collect_fpregset(), and sparc64nbsd_collect_fpregset().

## ◆ sparc64_collect_gregset()

void sparc64_collect_gregset | ( | const struct sparc_gregmap * | gregmap,
|  | const struct regcache * | regcache,
|  | int | regnum,
|  | void * | gregs
| ) |  |

Definition at line 1995 of file sparc64-tdep.c.

References regcache::arch(), gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_ptr_bit(), offset, PSR_ICC, PSR_IMPL, PSR_V8PLUS, PSR_VERS, PSR_XCC, sparc_gregmap::r_g1_offset, sparc_gregmap::r_l0_offset, sparc_gregmap::r_npc_offset, sparc_gregmap::r_pc_offset, sparc_gregmap::r_y_offset, sparc_gregmap::r_y_size, regcache_raw_collect(), regnum, SPARC32_NPC_REGNUM, SPARC32_PC_REGNUM, SPARC32_PSR_REGNUM, SPARC32_Y_REGNUM, SPARC64_FPRS_REGNUM, SPARC64_NPC_REGNUM, SPARC64_PC_REGNUM, SPARC64_STATE_REGNUM, SPARC64_Y_REGNUM, SPARC_G1_REGNUM, SPARC_I7_REGNUM, SPARC_L0_REGNUM, SPARC_O7_REGNUM, and store_unsigned_integer().

Referenced by _initialize_sparc64_nat(), _initialize_sparc64obsd_nat(), fill_gregset(), sparc64_linux_collect_core_gregset(), sparc64_sol2_collect_core_gregset(), sparc64fbsd_collect_gregset(), and sparc64nbsd_collect_gregset().

## ◆ sparc64_forget_process()

void sparc64_forget_process | ( | pid_t | pid | ) |

Definition at line 167 of file sparc64-tdep.c.

References adi_proc_list, pid, and target_fileio_close().

Referenced by _initialize_sparc64_linux_nat().

## ◆ sparc64_init_abi()

void sparc64_init_abi | ( | struct gdbarch_info | info,
|  | struct gdbarch * | gdbarch
| ) |  |

Definition at line 1804 of file sparc64-tdep.c.

References AT_ENTRY_POINT, gdbarch_tdep::cp0_register_names, gdbarch_tdep::cp0_registers_num, default_stabs_argument_has_addr(), dwarf2_frame_set_init_reg(), gdbarch_tdep::fpu_register_names, gdbarch_tdep::fpu_registers_num, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_tdep(), gdbarch_tdep::npc_regnum, gdbarch_tdep::pc_regnum, set_gdbarch_addr_bits_remove(), set_gdbarch_call_dummy_location(), set_gdbarch_frame_align(), set_gdbarch_long_bit(), set_gdbarch_long_long_bit(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_push_dummy_code(), set_gdbarch_register_name(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_stabs_argument_has_addr(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_wchar_bit(), set_gdbarch_wchar_signed(), set_tdesc_pseudo_register_name(), set_tdesc_pseudo_register_type(), sparc64_addr_bits_remove(), sparc64_cp0_register_names, sparc64_dwarf2_frame_init_reg(), sparc64_fpu_register_names, sparc64_frame_align(), sparc64_frame_base, sparc64_frame_unwind, SPARC64_NPC_REGNUM, SPARC64_NUM_PSEUDO_REGS, SPARC64_NUM_REGS, SPARC64_PC_REGNUM, sparc64_pseudo_register_name(), sparc64_pseudo_register_read(), sparc64_pseudo_register_type(), sparc64_pseudo_register_write(), sparc64_push_dummy_call(), sparc64_register_name(), sparc64_register_type(), sparc64_return_value(), sparc64_skip_prologue(), and sparc_stack_frame_destroyed_p().

Referenced by sparc64_linux_init_abi(), sparc64_sol2_init_abi(), sparc64fbsd_init_abi(), sparc64nbsd_init_abi(), and sparc64obsd_init_abi().

## ◆ sparc64_sol2_init_abi()

void sparc64_sol2_init_abi | ( | struct gdbarch_info | info,
|  | struct gdbarch * | gdbarch
| ) |  |

Definition at line 205 of file sparc64-sol2-tdep.c.

References find_solib_trampoline_target(), gdbarch_tdep::fpregset, frame_unwind_append_unwinder(), gdbarch_tdep(), gdbarch_tdep::gregset, gdbarch_tdep::plt_entry_size, set_gdbarch_core_pid_to_str(), set_gdbarch_skip_solib_resolver(), set_gdbarch_skip_trampoline_code(), set_gdbarch_software_single_step(), set_gdbarch_sofun_address_maybe_missing(), set_gdbarch_static_transform_name(), set_solib_svr4_fetch_link_map_offsets(), gdbarch_tdep::sizeof_fpregset, gdbarch_tdep::sizeof_gregset, sol2_core_pid_to_str(), sol2_skip_solib_resolver(), sparc64_init_abi(), sparc64_sol2_fpregset, sparc64_sol2_gregset, sparc64_sol2_sigtramp_frame_unwind, sparc_sol2_static_transform_name(), and svr4_lp64_fetch_link_map_offsets().

Referenced by _initialize_sparc64_sol2_tdep().

## ◆ sparc64_supply_fpregset()

void sparc64_supply_fpregset | ( | const struct sparc_fpregmap * | fpregmap,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | const void * | fpregs
| ) |  |

Definition at line 2105 of file sparc64-tdep.c.

References regcache::arch(), gdbarch_ptr_bit(), sparc_fpregmap::r_f0_offset, sparc_fpregmap::r_fsr_offset, regcache_raw_supply(), regnum, SPARC32_FSR_REGNUM, SPARC64_F32_REGNUM, SPARC64_FSR_REGNUM, and SPARC_F0_REGNUM.

Referenced by _initialize_sparc64_nat(), _initialize_sparc64obsd_nat(), sparc64_linux_supply_core_fpregset(), sparc64_sol2_supply_core_fpregset(), sparc64fbsd_supply_fpregset(), sparc64nbsd_supply_fpregset(), sparc64obsd_supply_fpregset(), sparc64obsd_supply_gregset(), and supply_fpregset().

## ◆ sparc64_supply_gregset()

void sparc64_supply_gregset | ( | const struct sparc_gregmap * | gregmap,
|  | struct regcache * | regcache,
|  | int | regnum,
|  | const void * | gregs
| ) |  |

Definition at line 1878 of file sparc64-tdep.c.

References regcache::arch(), gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_ptr_bit(), memset(), offset, PSR_S, PSR_V8PLUS, sparc_gregmap::r_g1_offset, sparc_gregmap::r_l0_offset, sparc_gregmap::r_npc_offset, sparc_gregmap::r_pc_offset, sparc_gregmap::r_y_offset, sparc_gregmap::r_y_size, regcache_cooked_read_unsigned(), regcache_raw_supply(), regnum, SPARC32_NPC_REGNUM, SPARC32_PC_REGNUM, SPARC32_PSR_REGNUM, SPARC32_Y_REGNUM, SPARC64_FPRS_REGNUM, SPARC64_NPC_REGNUM, SPARC64_PC_REGNUM, SPARC64_STATE_REGNUM, SPARC64_Y_REGNUM, SPARC_G0_REGNUM, SPARC_G1_REGNUM, SPARC_I7_REGNUM, SPARC_L0_REGNUM, SPARC_O7_REGNUM, SPARC_SP_REGNUM, sparc_supply_rwindow(), store_unsigned_integer(), TSTATE_CWP, TSTATE_ICC, and TSTATE_XCC.

Referenced by _initialize_sparc64_nat(), _initialize_sparc64obsd_nat(), sparc64_linux_supply_core_gregset(), sparc64_sol2_supply_core_gregset(), sparc64fbsd_supply_gregset(), sparc64nbsd_supply_gregset(), sparc64obsd_supply_gregset(), and supply_gregset().

## ◆ sparc64nbsd_sigcontext_saved_regs()

struct trad_frame_saved_reg* sparc64nbsd_sigcontext_saved_regs | ( | CORE_ADDR | sigcontext_addr,
|  | struct frame_info * | next_frame
| ) |  |

Definition at line 88 of file sparc64-nbsd-tdep.c.

References trad_frame_saved_reg::addr, BIAS, get_frame_arch(), get_frame_memory_unsigned(), trad_frame_saved_reg::realreg, regnum, SPARC64_NPC_REGNUM, SPARC64_PC_REGNUM, SPARC64_STATE_REGNUM, SPARC64_Y_REGNUM, sparc_fetch_wcookie(), SPARC_G0_REGNUM, SPARC_G1_REGNUM, SPARC_G2_REGNUM, SPARC_G7_REGNUM, SPARC_I0_REGNUM, SPARC_I7_REGNUM, SPARC_L0_REGNUM, SPARC_L1_REGNUM, SPARC_O0_REGNUM, SPARC_O1_REGNUM, SPARC_O5_REGNUM, SPARC_O7_REGNUM, SPARC_SP_REGNUM, trad_frame_alloc_saved_regs(), and trad_frame_set_value().

Referenced by sparc64nbsd_sigcontext_frame_cache(), and sparc64obsd_frame_cache().

## Variable Documentation

## ◆ sparc64_bsd_fpregmap

const struct sparc_fpregmap sparc64_bsd_fpregmap

Definition at line 2180 of file sparc64-tdep.c.

Referenced by _initialize_sparc64_linux_nat(), _initialize_sparc64obsd_nat(), fill_fpregset(), sparc64_linux_collect_core_fpregset(), sparc64_linux_supply_core_fpregset(), sparc64fbsd_collect_fpregset(), sparc64fbsd_supply_fpregset(), sparc64nbsd_collect_fpregset(), sparc64nbsd_supply_fpregset(), sparc64obsd_supply_fpregset(), sparc64obsd_supply_gregset(), and supply_fpregset().

## ◆ sparc64_sol2_fpregmap

const struct sparc_fpregmap sparc64_sol2_fpregmap

Definition at line 48 of file sparc64-sol2-tdep.c.

Referenced by sparc64_sol2_collect_core_fpregset(), and sparc64_sol2_supply_core_fpregset().

## ◆ sparc64_sol2_gregmap

const struct sparc_gregmap sparc64_sol2_gregmap

Definition at line 35 of file sparc64-sol2-tdep.c.

Referenced by sparc64_sol2_collect_core_gregset(), and sparc64_sol2_supply_core_gregset().

## ◆ sparc64fbsd_gregmap

const struct sparc_gregmap sparc64fbsd_gregmap

Definition at line 35 of file sparc64-fbsd-tdep.c.

Referenced by _initialize_sparc64fbsd_nat(), sparc64fbsd_collect_gregset(), and sparc64fbsd_supply_gregset().

## ◆ sparc64nbsd_gregmap

const struct sparc_gregmap sparc64nbsd_gregmap

Definition at line 37 of file sparc64-nbsd-tdep.c.

Referenced by _initialize_sparc64obsd_nat(), sparc64nbsd_collect_gregset(), and sparc64nbsd_supply_gregset().