diff options
| author | Rusty Wagner <rusty.wagner@gmail.com> | 2024-03-05 19:50:13 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2024-03-05 20:34:34 -0500 |
| commit | e093c21ed880ac3eb72119be15093ee04f8ce299 (patch) | |
| tree | 9f720ebdc0ae415734b1199ed341668c69710a94 /arch/armv7/thumb2_disasm/spec.h | |
| parent | 0609276712622908254065546102381466033141 (diff) | |
Move architecture modules into the API repo
Diffstat (limited to 'arch/armv7/thumb2_disasm/spec.h')
| -rw-r--r-- | arch/armv7/thumb2_disasm/spec.h | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/arch/armv7/thumb2_disasm/spec.h b/arch/armv7/thumb2_disasm/spec.h new file mode 100644 index 00000000..56613067 --- /dev/null +++ b/arch/armv7/thumb2_disasm/spec.h @@ -0,0 +1,205 @@ +int thumb_root(struct decomp_request *req, struct decomp_result *res); + +/* these are the <foo> and <bar> found in the spec's format strings */ +enum decomp_field { + FIELD_UNINIT=0, + FIELD_A, + FIELD_APSR_C, + FIELD_B, + FIELD_CRd, + FIELD_CRm, + FIELD_CRn, + FIELD_D, + FIELD_DM, + FIELD_DN, + FIELD_Dd, + FIELD_Dm, + FIELD_E, + FIELD_F, + FIELD_FPSCR, + FIELD_H, + FIELD_I, + FIELD_I1, + FIELD_InstrSet_ARM, + FIELD_J1, + FIELD_K1, + FIELD_L, + FIELD_M, + FIELD_M_check, + FIELD_N, + FIELD_NSACR_RFR, + FIELD_P, + FIELD_Q, + FIELD_Qd, + FIELD_Qm, + FIELD_R, + FIELD_RM, + FIELD_Ra, + FIELD_Rd, + FIELD_RdHi, + FIELD_RdLo, + FIELD_Rdm, + FIELD_Rdn, + FIELD_Rm, + FIELD_Rm2, + FIELD_Rm_check, + FIELD_Rn, + FIELD_Rt, + FIELD_Rt2, + FIELD_Rt_mrc, + FIELD_S, + FIELD_T, + FIELD_U, + FIELD_Vd, + FIELD_Vn, + FIELD_Vm, + FIELD_Vm_check, + FIELD_W, + FIELD_X1, + FIELD_a, + FIELD_add, + FIELD_advsimd, + FIELD_affectA, + FIELD_affectF, + FIELD_affectI, + FIELD_align, + FIELD_alignment, + FIELD_barrier_option, + FIELD_bytes, + FIELD_carry, + FIELD_cc, + FIELD_changemode, + FIELD_cmode, + FIELD_cond, + FIELD_coproc, + FIELD_cp, + FIELD_d, + FIELD_d2, + FIELD_d3, + FIELD_d4, + FIELD_dHi, + FIELD_dLo, + FIELD_dest_unsigned, + FIELD_disable, + FIELD_double_to_single, + FIELD_dp_operation, + FIELD_dt, + FIELD_dt_suffix, + FIELD_ebytes, + FIELD_elements, + FIELD_enable, + FIELD_esize, + FIELD_fbits, + FIELD_firstcond, + FIELD_floating_point, + FIELD_fmt_idx, + FIELD_frac_bits, + FIELD_half_to_single, + FIELD_i, + FIELD_im, + FIELD_imm, + FIELD_imm10, + FIELD_imm10H, + FIELD_imm10L, + FIELD_imm11, + FIELD_imm12, + FIELD_imm16, + FIELD_imm2, + FIELD_imm3, + FIELD_imm32, + FIELD_imm4, + FIELD_imm4H, + FIELD_imm4L, + FIELD_imm5, + FIELD_imm6, + FIELD_imm64l, + FIELD_imm64h, + FIELD_imm7, + FIELD_imm8, + FIELD_imod, + FIELD_inc, + FIELD_increment, + FIELD_index, + FIELD_index_align, + FIELD_is_tbh, + FIELD_is_vtbl, + FIELD_iword, + FIELD_len, + FIELD_length, + FIELD_list, + FIELD_long_destination, + FIELD_lowbit, + FIELD_lsbit, + FIELD_m, + FIELD_m_high, + FIELD_m_swap, + FIELD_mask, + FIELD_mask0, + FIELD_mask1, + FIELD_mode, + FIELD_msb, + FIELD_msbit, + FIELD_n, + FIELD_n_high, + FIELD_op, + FIELD_op1, + FIELD_op1_neg, + FIELD_op2, + FIELD_opc1, + FIELD_opc2, + FIELD_opc3, + FIELD_opcode, + FIELD_option, + FIELD_position, + FIELD_postindex, + FIELD_quadword_operation, + FIELD_read_spsr, + FIELD_register_form, + FIELD_register_index, + FIELD_register_list, + FIELD_registers, + FIELD_registers_indexed, + FIELD_regs, + FIELD_regs_n, + FIELD_rotate, + FIELD_rotation, + FIELD_round, + FIELD_round_mode, + FIELD_round_nearest, + FIELD_round_zero, + FIELD_SYSm, + FIELD_sat_imm, + FIELD_saturate_to, + FIELD_set_bigend, + FIELD_setflags, + FIELD_sf, + FIELD_sh, + FIELD_shift_n, + FIELD_shift_t, + FIELD_single_regs, + FIELD_single_register, + FIELD_size, + FIELD_size_table, + FIELD_src_unsigned, + FIELD_sx, + FIELD_sz, + FIELD_t, + FIELD_t2, + FIELD_tb, + FIELD_tbform, + FIELD_td, + FIELD_toARM, + FIELD_to_fixed, + FIELD_to_integer, + FIELD_type, + FIELD_unsigned, + FIELD_wback, + FIELD_width, + FIELD_widthm1, + FIELD_wordhigher, + FIELD_write_g, + FIELD_write_nzcvq, + FIELD_write_spsr, + FIELD_x, + FIELD_MAX +}; |
