summaryrefslogtreecommitdiffstats
path: root/bsps
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-11-05 09:50:36 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-11-06 14:05:53 +0100
commit828114778d8ba52fac1cf401978f2aacaedb572c (patch)
tree7cb1fc59a1f3536ddef88f33bb27622c27c11a27 /bsps
parentsparc: Add SPARC_IS_INTERRUPT_TRAP() (diff)
downloadrtems-828114778d8ba52fac1cf401978f2aacaedb572c.tar.bz2
sparc: Add SPARC_INTERRUPT_TRAP_TO_SOURCE()
Update #4171.
Diffstat (limited to 'bsps')
-rw-r--r--bsps/sparc/erc32/include/erc32.h2
-rw-r--r--bsps/sparc/erc32/start/setvec.c2
-rw-r--r--bsps/sparc/leon2/include/leon.h2
-rw-r--r--bsps/sparc/leon2/start/setvec.c2
-rw-r--r--bsps/sparc/leon3/include/leon.h2
-rw-r--r--bsps/sparc/leon3/start/setvec.c2
6 files changed, 6 insertions, 6 deletions
diff --git a/bsps/sparc/erc32/include/erc32.h b/bsps/sparc/erc32/include/erc32.h
index 2d278fc669..6d79772cc7 100644
--- a/bsps/sparc/erc32/include/erc32.h
+++ b/bsps/sparc/erc32/include/erc32.h
@@ -85,7 +85,7 @@ extern "C" {
#define ERC32_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
-#define ERC32_TRAP_SOURCE( _trap ) ((_trap) - 0x10)
+#define ERC32_TRAP_SOURCE( _trap ) SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap )
#define ERC32_Is_MEC_Trap( _trap ) SPARC_IS_INTERRUPT_TRAP( _trap )
diff --git a/bsps/sparc/erc32/start/setvec.c b/bsps/sparc/erc32/start/setvec.c
index 73bcc99083..50b6266f86 100644
--- a/bsps/sparc/erc32/start/setvec.c
+++ b/bsps/sparc/erc32/start/setvec.c
@@ -51,7 +51,7 @@ rtems_isr_entry set_vector( /* returns old vector */
if ( SPARC_IS_INTERRUPT_TRAP( vector ) ) {
uint32_t source;
- source = ERC32_TRAP_SOURCE( SPARC_REAL_TRAP_NUMBER( vector ) );
+ source = SPARC_INTERRUPT_TRAP_TO_SOURCE( vector );
ERC32_Clear_interrupt( source );
ERC32_Unmask_interrupt( source );
diff --git a/bsps/sparc/leon2/include/leon.h b/bsps/sparc/leon2/include/leon.h
index 49af3086ed..1d58aa7d39 100644
--- a/bsps/sparc/leon2/include/leon.h
+++ b/bsps/sparc/leon2/include/leon.h
@@ -82,7 +82,7 @@ extern "C" {
#define LEON_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
-#define LEON_TRAP_SOURCE( _trap ) ((_trap) - 0x10)
+#define LEON_TRAP_SOURCE( _trap ) SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap )
#define LEON_INT_TRAP( _trap ) SPARC_IS_INTERRUPT_TRAP( _trap )
diff --git a/bsps/sparc/leon2/start/setvec.c b/bsps/sparc/leon2/start/setvec.c
index 51647e3ee4..1557c77942 100644
--- a/bsps/sparc/leon2/start/setvec.c
+++ b/bsps/sparc/leon2/start/setvec.c
@@ -52,7 +52,7 @@ rtems_isr_entry set_vector( /* returns old vector */
if ( SPARC_IS_INTERRUPT_TRAP( vector ) ) {
uint32_t source;
- source = LEON_TRAP_SOURCE( SPARC_REAL_TRAP_NUMBER( vector ) );
+ source = SPARC_INTERRUPT_TRAP_TO_SOURCE( vector );
LEON_Clear_interrupt( source );
LEON_Unmask_interrupt( source );
diff --git a/bsps/sparc/leon3/include/leon.h b/bsps/sparc/leon3/include/leon.h
index 5ab0d45125..0e86dbefe1 100644
--- a/bsps/sparc/leon3/include/leon.h
+++ b/bsps/sparc/leon3/include/leon.h
@@ -44,7 +44,7 @@ extern "C" {
#define LEON_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
-#define LEON_TRAP_SOURCE( _trap ) ((_trap) - 0x10)
+#define LEON_TRAP_SOURCE( _trap ) SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap )
#define LEON_INT_TRAP( _trap ) SPARC_IS_INTERRUPT_TRAP( _trap )
diff --git a/bsps/sparc/leon3/start/setvec.c b/bsps/sparc/leon3/start/setvec.c
index 987e505c35..f9bccd490a 100644
--- a/bsps/sparc/leon3/start/setvec.c
+++ b/bsps/sparc/leon3/start/setvec.c
@@ -51,7 +51,7 @@ rtems_isr_entry set_vector( /* returns old vector */
if ( SPARC_IS_INTERRUPT_TRAP( vector ) ) {
uint32_t source;
- source = LEON_TRAP_SOURCE( SPARC_REAL_TRAP_NUMBER( vector ) );
+ source = SPARC_INTERRUPT_TRAP_TO_SOURCE( vector );
LEON_Clear_interrupt( source );
LEON_Unmask_interrupt( source );