summaryrefslogtreecommitdiff
path: root/src/arch/arm/v7/opcodes
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2014-12-03 22:41:29 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2014-12-03 22:41:29 (GMT)
commit172fce9bab61de1ffa89f731b5d10f96e209afc1 (patch)
tree31aee5a141979fa99bbf88cbf2b7990de0ec3832 /src/arch/arm/v7/opcodes
parentf7ef27195f8c9dc35e5e210a333b74fcfae5ad71 (diff)
Begun to support more than the only 'ARMv7' architecture for ARM (ARM / Thumb16 / Thumb32).
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@433 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/arm/v7/opcodes')
-rw-r--r--src/arch/arm/v7/opcodes/Makefile.am112
-rw-r--r--src/arch/arm/v7/opcodes/opcodes_tmp_arm.h24
-rw-r--r--src/arch/arm/v7/opcodes/opcodes_tmp_thumb_16.h1
-rw-r--r--src/arch/arm/v7/opcodes/opcodes_tmp_thumb_32.h36
4 files changed, 109 insertions, 64 deletions
diff --git a/src/arch/arm/v7/opcodes/Makefile.am b/src/arch/arm/v7/opcodes/Makefile.am
index 9e49c31..b2f5695 100644
--- a/src/arch/arm/v7/opcodes/Makefile.am
+++ b/src/arch/arm/v7/opcodes/Makefile.am
@@ -3,34 +3,90 @@ noinst_LTLIBRARIES = libarcharmv7opcodes.la
# ls *c | grep -v thumb | sort | sed 's/^/\t/' | sed 's/$/\t\t\\/'
libarcharmv7opcodes_la_SOURCES = \
- adc.c \
- add.c \
- and.c \
- bic.c \
- bl.c \
- bx.c \
- cmn.c \
- cmp.c \
- eor.c \
- mla.c \
- mls.c \
- mov.c \
- mul.c \
- mvn.c \
- orr.c \
- rsb.c \
- rsc.c \
- sbc.c \
- smlal.c \
- smull.c \
- sub.c \
- subs.c \
- teq.c \
- tst.c \
- umaal.c \
- umlal.c \
- umull.c \
- yield.c
+ arm_adc.c \
+ arm_add.c \
+ arm_and.c \
+ arm_bic.c \
+ arm_bl.c \
+ arm_bx.c \
+ arm_cmn.c \
+ arm_cmp.c \
+ arm_eor.c \
+ arm_mla.c \
+ arm_mls.c \
+ arm_mov.c \
+ arm_mul.c \
+ arm_mvn.c \
+ arm_orr.c \
+ arm_rsb.c \
+ arm_rsc.c \
+ arm_sbc.c \
+ arm_smlal.c \
+ arm_smull.c \
+ arm_sub.c \
+ arm_subs.c \
+ arm_teq.c \
+ arm_tst.c \
+ arm_umaal.c \
+ arm_umlal.c \
+ arm_umull.c \
+ arm_yield.c \
+ thumb_16_adc.c \
+ thumb_16_add.c \
+ thumb_16_and.c \
+ thumb_16_bic.c \
+ thumb_16_bl.c \
+ thumb_16_bx.c \
+ thumb_16_cmn.c \
+ thumb_16_cmp.c \
+ thumb_16_eor.c \
+ thumb_16_mla.c \
+ thumb_16_mls.c \
+ thumb_16_mov.c \
+ thumb_16_mul.c \
+ thumb_16_mvn.c \
+ thumb_16_orr.c \
+ thumb_16_rsb.c \
+ thumb_16_rsc.c \
+ thumb_16_sbc.c \
+ thumb_16_smlal.c \
+ thumb_16_smull.c \
+ thumb_16_sub.c \
+ thumb_16_subs.c \
+ thumb_16_teq.c \
+ thumb_16_tst.c \
+ thumb_16_umaal.c \
+ thumb_16_umlal.c \
+ thumb_16_umull.c \
+ thumb_16_yield.c \
+ thumb_32_adc.c \
+ thumb_32_add.c \
+ thumb_32_and.c \
+ thumb_32_bic.c \
+ thumb_32_bl.c \
+ thumb_32_bx.c \
+ thumb_32_cmn.c \
+ thumb_32_cmp.c \
+ thumb_32_eor.c \
+ thumb_32_mla.c \
+ thumb_32_mls.c \
+ thumb_32_mov.c \
+ thumb_32_mul.c \
+ thumb_32_mvn.c \
+ thumb_32_orr.c \
+ thumb_32_rsb.c \
+ thumb_32_rsc.c \
+ thumb_32_sbc.c \
+ thumb_32_smlal.c \
+ thumb_32_smull.c \
+ thumb_32_sub.c \
+ thumb_32_subs.c \
+ thumb_32_teq.c \
+ thumb_32_tst.c \
+ thumb_32_umaal.c \
+ thumb_32_umlal.c \
+ thumb_32_umull.c \
+ thumb_32_yield.c
libarcharmv7opcodes_la_LIBADD =
diff --git a/src/arch/arm/v7/opcodes/opcodes_tmp_arm.h b/src/arch/arm/v7/opcodes/opcodes_tmp_arm.h
new file mode 100644
index 0000000..82590a4
--- /dev/null
+++ b/src/arch/arm/v7/opcodes/opcodes_tmp_arm.h
@@ -0,0 +1,24 @@
+#ifndef arm_def_tmp_h
+#define arm_def_tmp_h
+#define armv7_read_arm_instr_adr(r) NULL
+#define armv7_read_arm_instr_asr_immediate(r) NULL
+#define armv7_read_arm_instr_b(r) NULL
+#define armv7_read_arm_instr_ldmda_ldmfa(r) NULL
+#define armv7_read_arm_instr_ldmdb_ldmea(r) NULL
+#define armv7_read_arm_instr_ldm_exception_return(r) NULL
+#define armv7_read_arm_instr_ldmib_ldmed(r) NULL
+#define armv7_read_arm_instr_ldm_ldmia_ldmfd_arm(r) NULL
+#define armv7_read_arm_instr_ldm_user_registers(r) NULL
+#define armv7_read_arm_instr_lsl_immediate(r) NULL
+#define armv7_read_arm_instr_lsr_immediate(r) NULL
+#define armv7_read_arm_instr_movt(r) NULL
+#define armv7_read_arm_instr_pop_arm(r) NULL
+#define armv7_read_arm_instr_push(r) NULL
+#define armv7_read_arm_instr_ror_immediate(r) NULL
+#define armv7_read_arm_instr_rrx(r) NULL
+#define armv7_read_arm_instr_stmda_stmed(r) NULL
+#define armv7_read_arm_instr_stmdb_stmfd(r) NULL
+#define armv7_read_arm_instr_stmib_stmfa(r) NULL
+#define armv7_read_arm_instr_stm_stmia_stmea(r) NULL
+#define armv7_read_arm_instr_stm_user_registers(r) NULL
+#endif
diff --git a/src/arch/arm/v7/opcodes/opcodes_tmp_thumb_16.h b/src/arch/arm/v7/opcodes/opcodes_tmp_thumb_16.h
index 402e083..3f7e8e5 100644
--- a/src/arch/arm/v7/opcodes/opcodes_tmp_thumb_16.h
+++ b/src/arch/arm/v7/opcodes/opcodes_tmp_thumb_16.h
@@ -34,7 +34,6 @@
#define armv7_read_thumb_16_instr_lsl_register(r) NULL
#define armv7_read_thumb_16_instr_lsr_immediate(r) NULL
#define armv7_read_thumb_16_instr_lsr_register(r) NULL
-#define armv7_read_thumb_16_instr_mov_immediate(r) NULL
#define armv7_read_thumb_16_instr_mov_register_thumb(r) NULL
#define armv7_read_thumb_16_instr_mul(r) NULL
#define armv7_read_thumb_16_instr_mvn_register(r) NULL
diff --git a/src/arch/arm/v7/opcodes/opcodes_tmp_thumb_32.h b/src/arch/arm/v7/opcodes/opcodes_tmp_thumb_32.h
index 016b7d3..8cd59a0 100644
--- a/src/arch/arm/v7/opcodes/opcodes_tmp_thumb_32.h
+++ b/src/arch/arm/v7/opcodes/opcodes_tmp_thumb_32.h
@@ -1,35 +1,22 @@
#ifndef thumb_32_def_tmp_h
#define thumb_32_def_tmp_h
-#define armv7_read_thumb_32_instr_(r) NULL
-#define armv7_read_thumb_32_instr_adc_immediate(r) NULL
-#define armv7_read_thumb_32_instr_adc_register(r) NULL
#define armv7_read_thumb_32_instr_add_immediate_thumb(r) NULL
#define armv7_read_thumb_32_instr_add_register_thumb(r) NULL
#define armv7_read_thumb_32_instr_adr(r) NULL
-#define armv7_read_thumb_32_instr_and_immediate(r) NULL
-#define armv7_read_thumb_32_instr_and_register(r) NULL
#define armv7_read_thumb_32_instr_asr_register(r) NULL
#define armv7_read_thumb_32_instr_b(r) NULL
#define armv7_read_thumb_32_instr_bfc(r) NULL
#define armv7_read_thumb_32_instr_bfi(r) NULL
-#define armv7_read_thumb_32_instr_bic_immediate(r) NULL
-#define armv7_read_thumb_32_instr_bic_register(r) NULL
#define armv7_read_thumb_32_instr_b_mrs(r) NULL
#define armv7_read_thumb_32_instr_b_msr_register(r) NULL
#define armv7_read_thumb_32_instr_bxj(r) NULL
#define armv7_read_thumb_32_instr_clrex(r) NULL
#define armv7_read_thumb_32_instr_clz(r) NULL
-#define armv7_read_thumb_32_instr_cmn_immediate(r) NULL
-#define armv7_read_thumb_32_instr_cmn_register(r) NULL
-#define armv7_read_thumb_32_instr_cmp_immediate(r) NULL
-#define armv7_read_thumb_32_instr_cmp_register(r) NULL
#define armv7_read_thumb_32_instr_cps_thumb(r) NULL
#define armv7_read_thumb_32_instr_dbg(r) NULL
#define armv7_read_thumb_32_instr_dmb(r) NULL
#define armv7_read_thumb_32_instr_dsb(r) NULL
#define armv7_read_thumb_32_instr_enterx_leavex(r) NULL
-#define armv7_read_thumb_32_instr_eor_immediate(r) NULL
-#define armv7_read_thumb_32_instr_eor_register(r) NULL
#define armv7_read_thumb_32_instr_eret(r) NULL
#define armv7_read_thumb_32_instr_hvc(r) NULL
#define armv7_read_thumb_32_instr_isb(r) NULL
@@ -41,22 +28,14 @@
#define armv7_read_thumb_32_instr_ldrt(r) NULL
#define armv7_read_thumb_32_instr_lsl_register(r) NULL
#define armv7_read_thumb_32_instr_lsr_register(r) NULL
-#define armv7_read_thumb_32_instr_mla(r) NULL
-#define armv7_read_thumb_32_instr_mls(r) NULL
-#define armv7_read_thumb_32_instr_mov_immediate(r) NULL
#define armv7_read_thumb_32_instr_movt(r) NULL
#define armv7_read_thumb_32_instr_mrs(r) NULL
#define armv7_read_thumb_32_instr_mrs_banked_register(r) NULL
#define armv7_read_thumb_32_instr_msr_banked_register(r) NULL
#define armv7_read_thumb_32_instr_msr_register(r) NULL
-#define armv7_read_thumb_32_instr_mul(r) NULL
-#define armv7_read_thumb_32_instr_mvn_immediate(r) NULL
-#define armv7_read_thumb_32_instr_mvn_register(r) NULL
#define armv7_read_thumb_32_instr_nop(r) NULL
#define armv7_read_thumb_32_instr_orn_immediate(r) NULL
#define armv7_read_thumb_32_instr_orn_register(r) NULL
-#define armv7_read_thumb_32_instr_orr_immediate(r) NULL
-#define armv7_read_thumb_32_instr_orr_register(r) NULL
#define armv7_read_thumb_32_instr_pkh(r) NULL
#define armv7_read_thumb_32_instr_pop_thumb(r) NULL
#define armv7_read_thumb_32_instr_push(r) NULL
@@ -70,13 +49,9 @@
#define armv7_read_thumb_32_instr_revsh(r) NULL
#define armv7_read_thumb_32_instr_rfe(r) NULL
#define armv7_read_thumb_32_instr_ror_register(r) NULL
-#define armv7_read_thumb_32_instr_rsb_immediate(r) NULL
-#define armv7_read_thumb_32_instr_rsb_register(r) NULL
#define armv7_read_thumb_32_instr_sadd16(r) NULL
#define armv7_read_thumb_32_instr_sadd8(r) NULL
#define armv7_read_thumb_32_instr_sasx(r) NULL
-#define armv7_read_thumb_32_instr_sbc_immediate(r) NULL
-#define armv7_read_thumb_32_instr_sbc_register(r) NULL
#define armv7_read_thumb_32_instr_sbfx(r) NULL
#define armv7_read_thumb_32_instr_sdiv(r) NULL
#define armv7_read_thumb_32_instr_sel(r) NULL
@@ -90,17 +65,16 @@
#define armv7_read_thumb_32_instr_smc_previously_smi(r) NULL
#define armv7_read_thumb_32_instr_smlabb_smlabt_smlatb_smlatt(r) NULL
#define armv7_read_thumb_32_instr_smlad(r) NULL
-#define armv7_read_thumb_32_instr_smlal(r) NULL
#define armv7_read_thumb_32_instr_smlalbb_smlalbt_smlaltb_smlaltt(r) NULL
#define armv7_read_thumb_32_instr_smlald(r) NULL
#define armv7_read_thumb_32_instr_smlawb_smlawt(r) NULL
#define armv7_read_thumb_32_instr_smlsd(r) NULL
+#define armv7_read_thumb_32_instr_smlsld(r) NULL
#define armv7_read_thumb_32_instr_smmla(r) NULL
#define armv7_read_thumb_32_instr_smmls(r) NULL
#define armv7_read_thumb_32_instr_smmul(r) NULL
#define armv7_read_thumb_32_instr_smuad(r) NULL
#define armv7_read_thumb_32_instr_smulbb_smulbt_smultb_smultt(r) NULL
-#define armv7_read_thumb_32_instr_smull(r) NULL
#define armv7_read_thumb_32_instr_smulwb_smulwt(r) NULL
#define armv7_read_thumb_32_instr_smusd(r) NULL
#define armv7_read_thumb_32_instr_sqadd16(r) NULL
@@ -135,10 +109,6 @@
#define armv7_read_thumb_32_instr_sxtb(r) NULL
#define armv7_read_thumb_32_instr_sxtb16(r) NULL
#define armv7_read_thumb_32_instr_sxth(r) NULL
-#define armv7_read_thumb_32_instr_teq_immediate(r) NULL
-#define armv7_read_thumb_32_instr_teq_register(r) NULL
-#define armv7_read_thumb_32_instr_tst_immediate(r) NULL
-#define armv7_read_thumb_32_instr_tst_register(r) NULL
#define armv7_read_thumb_32_instr_uadd16(r) NULL
#define armv7_read_thumb_32_instr_uadd8(r) NULL
#define armv7_read_thumb_32_instr_uasx(r) NULL
@@ -151,9 +121,6 @@
#define armv7_read_thumb_32_instr_uhsax(r) NULL
#define armv7_read_thumb_32_instr_uhsub16(r) NULL
#define armv7_read_thumb_32_instr_uhsub8(r) NULL
-#define armv7_read_thumb_32_instr_umaal(r) NULL
-#define armv7_read_thumb_32_instr_umlal(r) NULL
-#define armv7_read_thumb_32_instr_umull(r) NULL
#define armv7_read_thumb_32_instr_uqadd16(r) NULL
#define armv7_read_thumb_32_instr_uqadd8(r) NULL
#define armv7_read_thumb_32_instr_uqasx(r) NULL
@@ -175,5 +142,4 @@
#define armv7_read_thumb_32_instr_uxth(r) NULL
#define armv7_read_thumb_32_instr_wfe(r) NULL
#define armv7_read_thumb_32_instr_wfi(r) NULL
-#define armv7_read_thumb_32_instr_yield(r) NULL
#endif