• Y
    target-mips: fix broken MIPS16 and microMIPS · b231c103
    Yongbok Kim 提交于
    Commit 240ce26a broke MIPS16 and microMIPS support as it didn't
    care those branches and jumps don't have delay slot in
    MIPS16 and microMIPS.
    
    This patch introduces a new argument delayslot_size to the
    gen_compute_branch() indicating size of delay slot {0, 2, 4}.
    And the information is used to call handle_delay_slot() forcingly
    when no delay slot is required.
    
    There are some microMIPS branch and jump instructions that requires
    exact size of instruction in the delay slot. For indicating
    these instructions, MIPS_HFLAG_BDS_STRICT flag is introduced.
    
    Those fictional branch opcodes defined to support MIPS16 and
    microMIPS are no longer needed.
    Signed-off-by: NYongbok Kim <yongbok.kim@imgtec.com>
    Tested-by: NJonas Gorski <jogo@openwrt.org>
    Reviewed-by: NLeon Alrae <leon.alrae@imgtec.com>
    [leon.alrae@imgtec.com: cosmetic changes]
    Signed-off-by: NLeon Alrae <leon.alrae@imgtec.com>
    b231c103
translate.c 537.8 KB