22#include "gdbsupport/tdesc.h"
25#define IS_PAC(instruction) (instruction == 0xf3af801d)
26#define IS_PACBTI(instruction) (instruction == 0xf3af800d)
27#define IS_BTI(instruction) (instruction == 0xf3af800f)
28#define IS_PACG(instruction) ((instruction & 0xfff0f0f0) == 0xfb60f000)
29#define IS_AUT(instruction) (instruction == 0xf3af802d)
30#define IS_AUTG(instruction) ((instruction & 0xfff00ff0) == 0xfb500f00)
144#define FLAG_N 0x80000000
145#define FLAG_Z 0x40000000
146#define FLAG_C 0x20000000
147#define FLAG_V 0x10000000
151#define XPSR_T 0x01000000
155#define ARM_INT_REGISTER_SIZE 4
157#define ARM_FP_REGISTER_SIZE 12
158#define ARM_VFP_REGISTER_SIZE 8
159#define IWMMXT_VEC_REGISTER_SIZE 8
164#define ARM_CORE_REGS_SIZE (17 * ARM_INT_REGISTER_SIZE)
166#define ARM_FP_REGS_SIZE (8 * ARM_FP_REGISTER_SIZE + ARM_INT_REGISTER_SIZE)
168#define ARM_VFP2_REGS_SIZE (16 * ARM_VFP_REGISTER_SIZE + ARM_INT_REGISTER_SIZE)
170#define ARM_VFP3_REGS_SIZE (32 * ARM_VFP_REGISTER_SIZE + ARM_INT_REGISTER_SIZE)
172#define IWMMXT_REGS_SIZE (16 * IWMMXT_VEC_REGISTER_SIZE \
173 + 6 * ARM_INT_REGISTER_SIZE)
177#define IS_THUMB_ADDR(addr) ((addr) & 1)
178#define MAKE_THUMB_ADDR(addr) ((addr) | 1)
179#define UNMAKE_THUMB_ADDR(addr) ((addr) & ~1)
182#define submask(x) ((1L << ((x) + 1)) - 1)
183#define bits(obj,st,fn) (((obj) >> (st)) & submask ((fn) - (st)))
184#define bit(obj,st) (((obj) >> (st)) & 1)
185#define sbits(obj,st,fn) \
186 ((long) (bits(obj,st,fn) | ((long) bit(obj,fn) * ~ submask (fn - st))))
187#define BranchDest(addr,instr) \
188 ((CORE_ADDR) (((unsigned long) (addr)) + 8 + (sbits (instr, 0, 23) << 2)))
219 unsigned long pc_val,
220 unsigned long status_reg);
target_desc * arm_create_target_description(arm_fp_type fp_type, bool tls)
int thumb_advance_itstate(unsigned int itstate)
unsigned long shifted_reg_val(struct regcache *regcache, unsigned long inst, int carry, unsigned long pc_val, unsigned long status_reg)
target_desc * arm_create_mprofile_target_description(arm_m_profile_type m_type)
int arm_instruction_changes_pc(uint32_t this_instr)
int thumb2_instruction_changes_pc(unsigned short inst1, unsigned short inst2)
int condition_true(unsigned long cond, unsigned long status_reg)
int thumb_insn_size(unsigned short inst1)
int thumb_instruction_changes_pc(unsigned short inst)