diff options
Diffstat (limited to 'src/arch/arm/v7/opdefs')
-rw-r--r-- | src/arch/arm/v7/opdefs/Makefile.am | 2 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/b_A8818.d | 25 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/bl_A8825.d | 8 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/bx_A8827.d | 4 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/cbnz_A8829.d | 4 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/ldr_A8864.d | 6 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/pop_A88131.d | 3 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/pop_A88132.d | 2 |
8 files changed, 32 insertions, 22 deletions
diff --git a/src/arch/arm/v7/opdefs/Makefile.am b/src/arch/arm/v7/opdefs/Makefile.am index 318e20b..b95b588 100644 --- a/src/arch/arm/v7/opdefs/Makefile.am +++ b/src/arch/arm/v7/opdefs/Makefile.am @@ -106,7 +106,7 @@ fmk.done: $(ARMV7_DEFS) fix_includes_in_c_templates: @for f in `find .gen/ -name '*tmpl.c'`; do \ if grep -q '##INCLUDES##' $$f; then \ - $(fix_verbose)sed -i 's/##INCLUDES##/\n#include "..\/helpers.h"\n#include "..\/instruction.h"\n#include "..\/link.h"\n#include "..\/post.h"\n#include "..\/..\/instruction.h"\n#include "..\/..\/..\/..\/common\/bconst.h"\n\n/' $$f; \ + $(fix_verbose)sed -i 's/##INCLUDES##/\n#include "..\/helpers.h"\n#include "..\/instruction.h"\n#include "..\/fetch.h"\n#include "..\/post.h"\n#include "..\/..\/instruction.h"\n#include "..\/..\/..\/link.h"\n#include "..\/..\/..\/..\/common\/bconst.h"\n\n/' $$f; \ fi; \ done diff --git a/src/arch/arm/v7/opdefs/b_A8818.d b/src/arch/arm/v7/opdefs/b_A8818.d index 50bdda9..a275177 100644 --- a/src/arch/arm/v7/opdefs/b_A8818.d +++ b/src/arch/arm/v7/opdefs/b_A8818.d @@ -38,7 +38,8 @@ @hooks { - link = handle_links_with_instruction_b_from_thumb + fetch = help_fetching_with_instruction_b_from_thumb + link = handle_branch_if_true_as_link post = post_process_branch_instructions } @@ -47,7 +48,7 @@ //if cond == '1110' then UNDEFINED; //if cond == '1111' then SEE SVC; - chk_call DefineAsReturn(1) + //chk_call DefineAsReturn(1) } @@ -67,7 +68,8 @@ @hooks { - link = handle_links_with_instruction_b_from_thumb + fetch = help_fetching_with_instruction_b_from_thumb + link = handle_branch_if_true_as_link post = post_process_branch_instructions } @@ -75,7 +77,7 @@ @rules { //if InITBlock() && !LastInITBlock() then UNPREDICTABLE; - chk_call DefineAsReturn(1) + //chk_call DefineAsReturn(1) } @@ -96,7 +98,8 @@ @hooks { - link = handle_links_with_instruction_b_from_thumb + fetch = help_fetching_with_instruction_b_from_thumb + link = handle_branch_if_true_as_link post = post_process_branch_instructions } @@ -105,7 +108,7 @@ //if cond<3:1> == '111' then SEE "Related encodings"; //if InITBlock() then UNPREDICTABLE; - chk_call DefineAsReturn(1) + //chk_call DefineAsReturn(1) } @@ -127,7 +130,8 @@ @hooks { - link = handle_links_with_instruction_b_from_thumb + fetch = help_fetching_with_instruction_b_from_thumb + link = handle_branch_if_true_as_link post = post_process_branch_instructions } @@ -135,7 +139,7 @@ @rules { //if InITBlock() && !LastInITBlock() then UNPREDICTABLE; - chk_call DefineAsReturn(1) + //chk_call DefineAsReturn(1) } @@ -156,14 +160,15 @@ @hooks { - link = handle_links_with_instruction_b_from_arm + fetch = help_fetching_with_instruction_b_from_arm + link = handle_branch_if_true_as_link post = post_process_branch_instructions } @rules { - chk_call DefineAsReturn(1) + //chk_call DefineAsReturn(1) } diff --git a/src/arch/arm/v7/opdefs/bl_A8825.d b/src/arch/arm/v7/opdefs/bl_A8825.d index 63922dd..62ac8f9 100644 --- a/src/arch/arm/v7/opdefs/bl_A8825.d +++ b/src/arch/arm/v7/opdefs/bl_A8825.d @@ -39,7 +39,7 @@ @hooks { - link = handle_links_with_instruction_bl_from_thumb + fetch = help_fetching_with_instruction_bl_from_thumb post = post_process_branch_and_link_instructions } @@ -68,7 +68,7 @@ @hooks { - link = handle_links_with_instruction_blx_from_thumb + fetch = help_fetching_with_instruction_blx_from_thumb post = post_process_branch_and_link_instructions } @@ -95,7 +95,7 @@ @hooks { - link = handle_links_with_instruction_bl_from_arm + fetch = help_fetching_with_instruction_bl_from_arm post = post_process_branch_and_link_instructions } @@ -122,7 +122,7 @@ @hooks { - link = handle_links_with_instruction_blx_from_arm + fetch = help_fetching_with_instruction_blx_from_arm post = post_process_branch_and_link_instructions } diff --git a/src/arch/arm/v7/opdefs/bx_A8827.d b/src/arch/arm/v7/opdefs/bx_A8827.d index 4856885..f8027a4 100644 --- a/src/arch/arm/v7/opdefs/bx_A8827.d +++ b/src/arch/arm/v7/opdefs/bx_A8827.d @@ -38,7 +38,7 @@ @hooks { - link = handle_links_with_instruction_bx_from_thumb + fetch = help_fetching_with_instruction_bx_from_thumb } @@ -65,7 +65,7 @@ @hooks { - link = handle_links_with_instruction_bx_from_thumb + fetch = help_fetching_with_instruction_bx_from_thumb } diff --git a/src/arch/arm/v7/opdefs/cbnz_A8829.d b/src/arch/arm/v7/opdefs/cbnz_A8829.d index 93a8d1f..d9815c1 100644 --- a/src/arch/arm/v7/opdefs/cbnz_A8829.d +++ b/src/arch/arm/v7/opdefs/cbnz_A8829.d @@ -38,7 +38,7 @@ @hooks { - link = handle_links_with_instruction_cb_n_z + fetch = help_fetching_with_instruction_cb_n_z post = post_process_comp_and_branch_instructions } @@ -60,7 +60,7 @@ @hooks { - link = handle_links_with_instruction_cb_n_z + fetch = help_fetching_with_instruction_cb_n_z post = post_process_comp_and_branch_instructions } diff --git a/src/arch/arm/v7/opdefs/ldr_A8864.d b/src/arch/arm/v7/opdefs/ldr_A8864.d index c5b0dd0..4cf0048 100644 --- a/src/arch/arm/v7/opdefs/ldr_A8864.d +++ b/src/arch/arm/v7/opdefs/ldr_A8864.d @@ -39,7 +39,7 @@ @hooks { - link = handle_links_with_instruction_ldr_literal_from_thumb + fetch = help_fetching_with_instruction_ldr_literal_from_thumb post = post_process_ldr_instructions } @@ -62,7 +62,7 @@ @hooks { - link = handle_links_with_instruction_ldr_literal_from_thumb + fetch = help_fetching_with_instruction_ldr_literal_from_thumb post = post_process_ldr_instructions } @@ -93,7 +93,7 @@ @hooks { - link = handle_links_with_instruction_ldr_literal_from_arm + fetch = help_fetching_with_instruction_ldr_literal_from_arm post = post_process_ldr_instructions } diff --git a/src/arch/arm/v7/opdefs/pop_A88131.d b/src/arch/arm/v7/opdefs/pop_A88131.d index 2663e1b..ef5ab25 100644 --- a/src/arch/arm/v7/opdefs/pop_A88131.d +++ b/src/arch/arm/v7/opdefs/pop_A88131.d @@ -39,6 +39,7 @@ //if BitCount(registers) < 1 then UNPREDICTABLE; //if registers<15> == '1' && InITBlock() && !LastInITBlock() then UNPREDICTABLE; + chk_call DefineAsReturn(1) } @@ -60,6 +61,7 @@ //if BitCount(registers) < 2 || (P == '1' && M == '1') then UNPREDICTABLE; //if registers<15> == '1' && InITBlock() && !LastInITBlock() then UNPREDICTABLE; + chk_call DefineAsReturn(1) } @@ -81,6 +83,7 @@ @rules { //if t == 13 || (t == 15 && InITBlock() && !LastInITBlock()) then UNPREDICTABLE; + chk_call DefineAsReturn(1) } diff --git a/src/arch/arm/v7/opdefs/pop_A88132.d b/src/arch/arm/v7/opdefs/pop_A88132.d index 0c6c1b0..89c51c9 100644 --- a/src/arch/arm/v7/opdefs/pop_A88132.d +++ b/src/arch/arm/v7/opdefs/pop_A88132.d @@ -40,6 +40,7 @@ //if BitCount(register_list) < 2 then SEE LDM / LDMIA / LDMFD; //if registers<13> == '1' && ArchVersion() >= 7 then UNPREDICTABLE; + chk_call DefineAsReturn(1) } @@ -62,6 +63,7 @@ @rules { //if t == 13 then UNPREDICTABLE; + chk_call DefineAsReturn(1) } |