GDB (xrefs)
|
#include "gdbsupport/tdesc.h"
Go to the source code of this file.
Classes | |
struct | aarch64_features |
struct | std::hash< aarch64_features > |
Namespaces | |
namespace | std |
Enumerations | |
enum | aarch64_regnum { AARCH64_X0_REGNUM , AARCH64_FP_REGNUM = AARCH64_X0_REGNUM + 29 , AARCH64_LR_REGNUM = AARCH64_X0_REGNUM + 30 , AARCH64_SP_REGNUM , AARCH64_PC_REGNUM , AARCH64_CPSR_REGNUM , AARCH64_V0_REGNUM , AARCH64_V31_REGNUM = AARCH64_V0_REGNUM + 31 , AARCH64_SVE_Z0_REGNUM = AARCH64_V0_REGNUM , AARCH64_SVE_Z31_REGNUM = AARCH64_V31_REGNUM , AARCH64_FPSR_REGNUM , AARCH64_FPCR_REGNUM , AARCH64_SVE_P0_REGNUM , AARCH64_SVE_P15_REGNUM = AARCH64_SVE_P0_REGNUM + 15 , AARCH64_SVE_FFR_REGNUM , AARCH64_SVE_VG_REGNUM , AARCH64_LAST_X_ARG_REGNUM = AARCH64_X0_REGNUM + 7 , AARCH64_STRUCT_RETURN_REGNUM = AARCH64_X0_REGNUM + 8 , AARCH64_LAST_V_ARG_REGNUM = AARCH64_V0_REGNUM + 7 } |
Functions | |
bool | operator== (const aarch64_features &lhs, const aarch64_features &rhs) |
target_desc * | aarch64_create_target_description (const aarch64_features &features) |
CORE_ADDR | aarch64_remove_top_bits (CORE_ADDR pointer, CORE_ADDR mask) |
CORE_ADDR | aarch64_mask_from_pac_registers (const CORE_ADDR cmask, const CORE_ADDR dmask) |
#define AARCH64_B0_REGNUM (AARCH64_H0_REGNUM + 32) |
Definition at line 155 of file aarch64.h.
Referenced by aarch64_linux_restore_vregs(), aarch64_linux_sigframe_init(), aarch64_pseudo_read_value(), aarch64_pseudo_register_name(), aarch64_pseudo_register_reggroup_p(), aarch64_pseudo_register_type(), and aarch64_pseudo_write().
#define AARCH64_D0_REGNUM (AARCH64_Q0_REGNUM + AARCH64_D_REGISTER_COUNT) |
Definition at line 152 of file aarch64.h.
Referenced by aarch64_analyze_prologue(), aarch64_linux_restore_vregs(), aarch64_linux_sigframe_init(), aarch64_pseudo_read_value(), aarch64_pseudo_register_name(), aarch64_pseudo_register_reggroup_p(), aarch64_pseudo_register_type(), and aarch64_pseudo_write().
#define AARCH64_H0_REGNUM (AARCH64_S0_REGNUM + 32) |
Definition at line 154 of file aarch64.h.
Referenced by aarch64_linux_restore_vregs(), aarch64_linux_sigframe_init(), aarch64_pseudo_read_value(), aarch64_pseudo_register_name(), aarch64_pseudo_register_reggroup_p(), aarch64_pseudo_register_type(), and aarch64_pseudo_write().
#define AARCH64_MAX_SVE_VQ 16 |
Definition at line 197 of file aarch64.h.
Referenced by aarch64_gdbarch_init(), aarch64_linux_core_read_vq(), and aarch64_read_description().
#define AARCH64_NUM_REGS AARCH64_FPCR_REGNUM + 1 |
#define AARCH64_PAUTH_CMASK_HIGH_REGNUM | ( | pauth_reg_base | ) | (pauth_reg_base + 3) |
Definition at line 163 of file aarch64.h.
Referenced by aarch64_frame_unmask_lr(), and aarch64_remove_non_address_bits().
#define AARCH64_PAUTH_CMASK_REGNUM | ( | pauth_reg_base | ) | (pauth_reg_base + 1) |
Definition at line 159 of file aarch64.h.
Referenced by aarch64_fetch_registers(), aarch64_frame_unmask_lr(), aarch64_remove_non_address_bits(), and fetch_pauth_masks_from_thread().
#define AARCH64_PAUTH_DMASK_HIGH_REGNUM | ( | pauth_reg_base | ) | (pauth_reg_base + 2) |
Definition at line 162 of file aarch64.h.
Referenced by aarch64_remove_non_address_bits().
#define AARCH64_PAUTH_DMASK_REGNUM | ( | pauth_reg_base | ) | (pauth_reg_base) |
Definition at line 158 of file aarch64.h.
Referenced by aarch64_fetch_registers(), aarch64_linux_iterate_over_regset_sections(), aarch64_remove_non_address_bits(), and fetch_pauth_masks_from_thread().
#define AARCH64_Q0_REGNUM 0 |
Definition at line 151 of file aarch64.h.
Referenced by aarch64_linux_restore_vregs(), aarch64_linux_sigframe_init(), aarch64_pseudo_read_value(), aarch64_pseudo_register_name(), aarch64_pseudo_register_reggroup_p(), aarch64_pseudo_register_type(), and aarch64_pseudo_write().
#define AARCH64_S0_REGNUM (AARCH64_D0_REGNUM + 32) |
Definition at line 153 of file aarch64.h.
Referenced by aarch64_linux_restore_vregs(), aarch64_linux_sigframe_init(), aarch64_pseudo_read_value(), aarch64_pseudo_register_name(), aarch64_pseudo_register_reggroup_p(), aarch64_pseudo_register_type(), and aarch64_pseudo_write().
#define AARCH64_SME2_ZT0_SIZE 64 |
Definition at line 231 of file aarch64.h.
Referenced by aarch64_fetch_zt_regset(), aarch64_initialize_za_regset(), aarch64_linux_collect_zt_regset(), aarch64_linux_iterate_over_regset_sections(), aarch64_linux_supply_zt_regset(), aarch64_store_zt_regset(), aarch64_zt_regs_copy_from_reg_buf(), aarch64_zt_regs_copy_to_reg_buf(), and supports_zt_registers().
#define AARCH64_SVE_NUM_REGS AARCH64_SVE_VG_REGNUM + 1 |
#define AARCH64_SVE_P_REGS_NUM 16 |
Definition at line 171 of file aarch64.h.
Referenced by aarch64_sve_regs_copy_from_reg_buf(), aarch64_sve_regs_copy_to_reg_buf(), supply_sve_regset(), and sve_state_is_empty().
#define AARCH64_SVE_V0_REGNUM (AARCH64_B0_REGNUM + 32) |
Definition at line 156 of file aarch64.h.
Referenced by aarch64_linux_restore_vregs(), aarch64_linux_sigframe_init(), aarch64_pseudo_read_value(), aarch64_pseudo_register_name(), aarch64_pseudo_register_reggroup_p(), aarch64_pseudo_register_type(), and aarch64_pseudo_write().
#define AARCH64_SVE_Z_REGS_NUM AARCH64_V_REGS_NUM |
Definition at line 170 of file aarch64.h.
Referenced by aarch64_sve_regs_copy_from_reg_buf(), aarch64_sve_regs_copy_to_reg_buf(), collect_inactive_sve_regset(), supply_sve_regset(), and sve_state_is_empty().
#define AARCH64_TLS_REGISTER_SIZE 8 |
Definition at line 140 of file aarch64.h.
Referenced by aarch64_linux_core_read_description(), and aarch64_linux_iterate_over_regset_sections().
#define AARCH64_TOP_BITS_MASK 0xff80000000000000ULL |
Definition at line 148 of file aarch64.h.
Referenced by aarch64_frame_unmask_lr(), and aarch64_remove_non_address_bits().
#define AARCH64_V_REGS_NUM 32 |
Definition at line 169 of file aarch64.h.
Referenced by aarch64_pseudo_register_name(), aarch64_pseudo_register_reggroup_p(), and aarch64_pseudo_register_type().
#define AARCH64_ZA_TILES_NUM 31 |
Definition at line 225 of file aarch64.h.
Referenced by aarch64_gdbarch_init(), and aarch64_initialize_sme_pseudo_names().
#define sve_vg_from_vl | ( | vl | ) | ((vl) / 8) |
Definition at line 184 of file aarch64.h.
Referenced by aarch64_linux_sigframe_init(), aarch64_linux_supply_za_regset(), aarch64_sve_regs_copy_to_reg_buf(), aarch64_za_regs_copy_from_reg_buf(), aarch64_za_regs_copy_to_reg_buf(), and supply_sve_regset().
#define sve_vg_from_vq | ( | vq | ) | (sve_vg_from_vl (sve_vl_from_vq (vq))) |
Definition at line 193 of file aarch64.h.
Referenced by aarch64_sve_set_vq(), and aarch64_za_set_svq().
#define sve_vl_from_vg | ( | vg | ) | ((vg) * 8) |
Definition at line 185 of file aarch64.h.
Referenced by aarch64_linux_supply_za_regset(), aarch64_za_regs_copy_from_reg_buf(), and collect_inactive_sve_regset().
#define sve_vl_from_vq | ( | vq | ) | ((vq) * 0x10) |
Definition at line 190 of file aarch64.h.
Referenced by aarch64_create_target_description(), aarch64_linux_collect_za_regset(), aarch64_linux_iterate_over_regset_sections(), aarch64_sme_pseudo_register_read(), aarch64_sme_pseudo_register_write(), aarch64_sve_set_vq(), aarch64_za_offsets_from_regnum(), aarch64_za_set_svq(), and collect_sve_regset().
#define sve_vq_from_vg | ( | vg | ) | (sve_vq_from_vl (sve_vl_from_vg (vg))) |
Definition at line 192 of file aarch64.h.
Referenced by aarch64_sve_set_vq(), and aarch64_za_set_svq().
#define sve_vq_from_vl | ( | vl | ) | ((vl) / 0x10) |
Definition at line 187 of file aarch64.h.
Referenced by aarch64_get_tdesc_svq(), aarch64_get_tdesc_vq(), aarch64_initialize_za_regset(), aarch64_linux_core_read_vq(), aarch64_linux_read_signal_frame_info(), aarch64_linux_sigframe_init(), aarch64_linux_sigframe_prev_arch(), aarch64_sve_get_vq(), aarch64_sve_regs_copy_from_reg_buf(), aarch64_sve_regs_copy_to_reg_buf(), aarch64_za_get_svq(), aarch64_za_regs_copy_from_reg_buf(), and aarch64_za_regs_copy_to_reg_buf().
#define V_REGISTER_SIZE 16 |
Definition at line 141 of file aarch64.h.
Referenced by aarch64_linux_restore_vregs(), aarch64_pseudo_read_value(), aarch64_pseudo_write(), aarch64_store_return_value(), aarch64_sve_regs_copy_from_reg_buf(), aarch64_sve_regs_copy_to_reg_buf(), collect_inactive_sve_regset(), and sve_state_is_empty().
#define VA_RANGE_SELECT_BIT_MASK 0x80000000000000ULL |
Definition at line 145 of file aarch64.h.
Referenced by aarch64_frame_unmask_lr(), aarch64_remove_non_address_bits(), and aarch64_remove_top_bits().
enum aarch64_regnum |
target_desc * aarch64_create_target_description | ( | const aarch64_features & | features | ) |
Definition at line 34 of file aarch64.c.
References allocate_target_description(), create_feature_aarch64_core(), create_feature_aarch64_fpu(), create_feature_aarch64_mte(), create_feature_aarch64_pauth(), create_feature_aarch64_sme(), create_feature_aarch64_sme2(), create_feature_aarch64_sve(), create_feature_aarch64_tls(), aarch64_features::mte, aarch64_features::pauth, regnum, set_tdesc_architecture(), aarch64_features::sme2, sve_vl_from_vq, aarch64_features::svq, aarch64_features::tls, and aarch64_features::vq.
Referenced by aarch64_read_description().
CORE_ADDR aarch64_mask_from_pac_registers | ( | const CORE_ADDR | cmask, |
const CORE_ADDR | dmask ) |
Definition at line 94 of file aarch64.c.
Referenced by aarch64_remove_non_address_bits().
CORE_ADDR aarch64_remove_top_bits | ( | CORE_ADDR | pointer, |
CORE_ADDR | mask ) |
Definition at line 75 of file aarch64.c.
References VA_RANGE_SELECT_BIT_MASK.
Referenced by aarch64_frame_unmask_lr(), and aarch64_remove_non_address_bits().
|
inline |
Definition at line 56 of file aarch64.h.
References aarch64_features::mte, aarch64_features::pauth, aarch64_features::sme2, aarch64_features::svq, aarch64_features::tls, and aarch64_features::vq.