[PATCH 2/5] bsps/sparc: Avoid internal var in tm27 support

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Nov 24 12:52:21 UTC 2017


Update #3254.
---
 c/src/lib/libbsp/sparc/erc32/include/tm27.h | 10 ++++++++--
 c/src/lib/libbsp/sparc/leon2/include/tm27.h | 10 ++++++++--
 c/src/lib/libbsp/sparc/leon3/include/tm27.h | 10 ++++++++--
 3 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/c/src/lib/libbsp/sparc/erc32/include/tm27.h b/c/src/lib/libbsp/sparc/erc32/include/tm27.h
index 77024cb667..11a57b1058 100644
--- a/c/src/lib/libbsp/sparc/erc32/include/tm27.h
+++ b/c/src/lib/libbsp/sparc/erc32/include/tm27.h
@@ -37,7 +37,7 @@
 
 #define Cause_tm27_intr() \
   do { \
-    ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE+(Interrupt_nest>>1) ); \
+    ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE ); \
     nop(); \
     nop(); \
     nop(); \
@@ -46,6 +46,12 @@
 #define Clear_tm27_intr() \
   ERC32_Clear_interrupt( TEST_INTERRUPT_SOURCE )
 
-#define Lower_tm27_intr() /* empty */
+#define Lower_tm27_intr() \
+  do { \
+    ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE2 ); \
+    nop(); \
+    nop(); \
+    nop(); \
+  } while (0)
 
 #endif
diff --git a/c/src/lib/libbsp/sparc/leon2/include/tm27.h b/c/src/lib/libbsp/sparc/leon2/include/tm27.h
index 6d498c2353..d7c43800dd 100644
--- a/c/src/lib/libbsp/sparc/leon2/include/tm27.h
+++ b/c/src/lib/libbsp/sparc/leon2/include/tm27.h
@@ -36,7 +36,7 @@
 
 #define Cause_tm27_intr() \
   do { \
-    LEON_Force_interrupt( TEST_INTERRUPT_SOURCE+(Interrupt_nest>>1)); \
+    LEON_Force_interrupt( TEST_INTERRUPT_SOURCE ); \
     nop(); \
     nop(); \
     nop(); \
@@ -45,6 +45,12 @@
 #define Clear_tm27_intr() \
   LEON_Clear_interrupt( TEST_INTERRUPT_SOURCE )
 
-#define Lower_tm27_intr() /* empty */
+#define Lower_tm27_intr() \
+  do { \
+    LEON_Force_interrupt( TEST_INTERRUPT_SOURCE2 ); \
+    nop(); \
+    nop(); \
+    nop(); \
+  } while (0)
 
 #endif
diff --git a/c/src/lib/libbsp/sparc/leon3/include/tm27.h b/c/src/lib/libbsp/sparc/leon3/include/tm27.h
index db1973c2e8..518ceab0e9 100644
--- a/c/src/lib/libbsp/sparc/leon3/include/tm27.h
+++ b/c/src/lib/libbsp/sparc/leon3/include/tm27.h
@@ -36,7 +36,7 @@
 
 #define Cause_tm27_intr() \
   do { \
-    LEON_Force_interrupt( TEST_INTERRUPT_SOURCE+(Interrupt_nest>>1)); \
+    LEON_Force_interrupt( TEST_INTERRUPT_SOURCE ); \
     nop(); \
     nop(); \
     nop(); \
@@ -45,6 +45,12 @@
 #define Clear_tm27_intr() \
   LEON_Clear_interrupt( TEST_INTERRUPT_SOURCE )
 
-#define Lower_tm27_intr() /* empty */
+#define Lower_tm27_intr() \
+  do { \
+    LEON_Force_interrupt( TEST_INTERRUPT_SOURCE2 ); \
+    nop(); \
+    nop(); \
+    nop(); \
+  } while (0)
 
 #endif
-- 
2.12.3



More information about the devel mailing list