• Vineet Gupta's avatar
    ARC: [arcompact] entry.S: Improve early return from exception · 55a2ae77
    Vineet Gupta authored
    The requirement is to
     - Reenable Exceptions (AE cleared)
     - Reenable Interrupts (E1/E2 set)
    
    We need to do wiggle these bits into ERSTATUS and call RTIE.
    
    Prev version used the pre-exception STATUS32 as starting point for what
    goes into ERSTATUS. This required explicit fixups of U/DE/L bits.
    
    Instead, use the current (in-exception) STATUS32 as starting point.
    Being in exception handler U/DE/L can be safely assumed to be correct.
    Only AE/E1/E2 need to be fixed.
    
    So the new implementation is slightly better
     -Avoids read form memory
     -Is 4 bytes smaller for the typical 1 level of intr configuration
     -Depicts the semantics more clearly
    Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
    55a2ae77
irqflags-compact.h 4.25 KB