• Vineet Gupta's avatar
    ARC: [arcompact] handle unaligned access delay slot corner case · acb63c8b
    Vineet Gupta authored
    commit 9aed02fe upstream.
    
    After emulating an unaligned access in delay slot of a branch, we
    pretend as the delay slot never happened - so return back to actual
    branch target (or next PC if branch was not taken).
    
    Curently we did this by handling STATUS32.DE, we also need to clear the
    BTA.T bit, which is disregarded when returning from original misaligned
    exception, but could cause weirdness if it took the interrupt return
    path (in case interrupt was acive too)
    
    One ARC700 customer ran into this when enabling unaligned access fixup
    for kernel mode accesses as well
    Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    acb63c8b
unaligned.c 6.38 KB