summaryrefslogtreecommitdiffstats
path: root/bsps/sparc/leon3/start
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-11-05 09:32:09 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-11-06 14:05:53 +0100
commitb7271f8c1e17bca5148039295c66d9d964a7c884 (patch)
tree525890110972f89db1252ada256146a68c556c11 /bsps/sparc/leon3/start
parentsparc: Move SPARC-specific macros to sparc.h (diff)
downloadrtems-b7271f8c1e17bca5148039295c66d9d964a7c884.tar.bz2
sparc: Add SPARC_IS_INTERRUPT_TRAP()
Update #4171.
Diffstat (limited to 'bsps/sparc/leon3/start')
-rw-r--r--bsps/sparc/leon3/start/setvec.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/bsps/sparc/leon3/start/setvec.c b/bsps/sparc/leon3/start/setvec.c
index 5b5888d51a..987e505c35 100644
--- a/bsps/sparc/leon3/start/setvec.c
+++ b/bsps/sparc/leon3/start/setvec.c
@@ -42,19 +42,16 @@ rtems_isr_entry set_vector( /* returns old vector */
)
{
rtems_isr_entry previous_isr;
- uint32_t real_trap;
- uint32_t source;
if ( type )
rtems_interrupt_catch( handler, vector, &previous_isr );
else
_CPU_ISR_install_raw_handler( vector, handler, (void *)&previous_isr );
- real_trap = SPARC_REAL_TRAP_NUMBER( vector );
+ if ( SPARC_IS_INTERRUPT_TRAP( vector ) ) {
+ uint32_t source;
- if ( LEON_INT_TRAP( real_trap ) ) {
-
- source = LEON_TRAP_SOURCE( real_trap );
+ source = LEON_TRAP_SOURCE( SPARC_REAL_TRAP_NUMBER( vector ) );
LEON_Clear_interrupt( source );
LEON_Unmask_interrupt( source );