diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2015-09-05 23:08:31 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2015-10-17 17:48:22 +0530 |
commit | 55a2ae775ab4fe7aefa736e0fae6b8d4bd8aaab5 (patch) | |
tree | 19e73c6b565f2ce0676a99f88e254411acf4a48a /arch/arc/include/asm/dma-mapping.h | |
parent | 9dbd3d9bfd56707f9b1ccc301506e2fac0e95795 (diff) |
ARC: [arcompact] entry.S: Improve early return from exception
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: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include/asm/dma-mapping.h')
0 files changed, 0 insertions, 0 deletions