SH: Improve movca.l/ocbi emulation.
commit852d481faf7070ac6e46653b77f6c9ecbdfb9efc
authoredgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 1 Apr 2009 23:10:46 +0000 (1 23:10 +0000)
committeredgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 1 Apr 2009 23:10:46 +0000 (1 23:10 +0000)
tree7bb1b6b76fad26774a8daeb8e87163cb9803ff9b
parent714fa308a3f86e1dc55021ff1282c1afe6954d3d
SH: Improve movca.l/ocbi emulation.

Author: Vladimir Prus <vladimir@codesourcery.com>

    Fix movcal.l/ocbi emulation.

        * target-sh4/cpu.h (memory_content): New.
        (CPUSH4State): New fields movcal_backup and movcal_backup_tail.
        * target-sh4/helper.h (helper_movcal)
        (helper_discard_movcal_backup, helper_ocbi): New.
        * target-sh4/op_helper.c (helper_movcal)
        (helper_discard_movcal_backup, helper_ocbi): New.
        * target-sh4/translate.c (DisasContext): New field has_movcal.
        (sh4_defs): Update CVS for SH7785.
        (cpu_sh4_init): Initialize env->movcal_backup_tail.
        (_decode_opc): Discard movca.l-backup.
        Make use of helper_movcal and helper_ocbi.
        (gen_intermediate_code_internal): Initialize has_movcal to 1.

Thanks to Shin-ichiro KAWASAKI and Paul Mundt for valuable feedback.

Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6966 c046a42c-6fe2-441c-8c8c-71466251a162
target-sh4/cpu.h
target-sh4/helper.c
target-sh4/helper.h
target-sh4/op_helper.c
target-sh4/translate.c