23#include "gdbsupport/tdesc.h"
43 return lhs.
vq == rhs.
vq
59 h = h << 1 | features.pauth;
60 h = h << 1 | features.mte;
63 h = h << 2 | features.tls;
115#define AARCH64_TLS_REGISTER_SIZE 8
116#define V_REGISTER_SIZE 16
120#define VA_RANGE_SELECT_BIT_MASK 0x80000000000000ULL
123#define AARCH64_TOP_BITS_MASK 0xff80000000000000ULL
126#define AARCH64_Q0_REGNUM 0
127#define AARCH64_D0_REGNUM (AARCH64_Q0_REGNUM + AARCH64_D_REGISTER_COUNT)
128#define AARCH64_S0_REGNUM (AARCH64_D0_REGNUM + 32)
129#define AARCH64_H0_REGNUM (AARCH64_S0_REGNUM + 32)
130#define AARCH64_B0_REGNUM (AARCH64_H0_REGNUM + 32)
131#define AARCH64_SVE_V0_REGNUM (AARCH64_B0_REGNUM + 32)
133#define AARCH64_PAUTH_DMASK_REGNUM(pauth_reg_base) (pauth_reg_base)
134#define AARCH64_PAUTH_CMASK_REGNUM(pauth_reg_base) (pauth_reg_base + 1)
135#define AARCH64_PAUTH_REGS_SIZE (16)
137#define AARCH64_X_REGS_NUM 31
138#define AARCH64_V_REGS_NUM 32
139#define AARCH64_SVE_Z_REGS_NUM AARCH64_V_REGS_NUM
140#define AARCH64_SVE_P_REGS_NUM 16
141#define AARCH64_NUM_REGS AARCH64_FPCR_REGNUM + 1
142#define AARCH64_SVE_NUM_REGS AARCH64_SVE_VG_REGNUM + 1
153#define sve_vg_from_vl(vl) ((vl) / 8)
154#define sve_vl_from_vg(vg) ((vg) * 8)
155#ifndef sve_vq_from_vl
156#define sve_vq_from_vl(vl) ((vl) / 0x10)
158#ifndef sve_vl_from_vq
159#define sve_vl_from_vq(vq) ((vq) * 0x10)
161#define sve_vq_from_vg(vg) (sve_vq_from_vl (sve_vl_from_vg (vg)))
162#define sve_vg_from_vq(vq) (sve_vg_from_vl (sve_vl_from_vq (vq)))
166#define AARCH64_MAX_SVE_VQ 16
@ AARCH64_STRUCT_RETURN_REGNUM
@ AARCH64_LAST_V_ARG_REGNUM
@ AARCH64_LAST_X_ARG_REGNUM
CORE_ADDR aarch64_remove_top_bits(CORE_ADDR pointer, CORE_ADDR mask)
target_desc * aarch64_create_target_description(const aarch64_features &features)
CORE_ADDR aarch64_mask_from_pac_registers(const CORE_ADDR cmask, const CORE_ADDR dmask)
bool operator==(const aarch64_features &lhs, const aarch64_features &rhs)
std::size_t operator()(const aarch64_features &features) const noexcept