Skip to content
  • Yongbok Kim's avatar
    target-mips: fix broken MIPS16 and microMIPS · b231c103
    Yongbok Kim authored
    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: default avatarYongbok Kim <yongbok.kim@imgtec.com>
    Tested-by: default avatarJonas Gorski <jogo@openwrt.org>
    Reviewed-by: default avatarLeon Alrae <leon.alrae@imgtec.com>
    [leon.alrae@imgtec.com: cosmetic changes]
    Signed-off-by: default avatarLeon Alrae <leon.alrae@imgtec.com>
    b231c103