[rtems commit] validation: Add wrapped bsp_interrupt_dispatch for MicroBlaze

Joel Sherrill joel at rtems.org
Fri Oct 27 14:14:37 UTC 2023


Module:    rtems
Branch:    master
Commit:    f6b1840f70132d82df4b2b2b7553d1200f6fd724
Changeset: http://git.rtems.org/rtems/commit/?id=f6b1840f70132d82df4b2b2b7553d1200f6fd724

Author:    Alex White <alex.white at oarcorp.com>
Date:      Mon Oct 23 09:05:55 2023 -0500

validation: Add wrapped bsp_interrupt_dispatch for MicroBlaze

This adds a MicroBlaze-specific bsp_interrupt_dispatch wrapper which
fixes a linker error.

---

 testsuites/validation/tc-score-isr.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/testsuites/validation/tc-score-isr.c b/testsuites/validation/tc-score-isr.c
index f29abbbfe8..9891829a84 100644
--- a/testsuites/validation/tc-score-isr.c
+++ b/testsuites/validation/tc-score-isr.c
@@ -128,6 +128,23 @@ void __wrap_bsp_interrupt_dispatch( void )
 }
 #endif
 
+#if defined(__microblaze__)
+void __real_bsp_interrupt_dispatch( uint32_t source );
+
+void __wrap_bsp_interrupt_dispatch( uint32_t source );
+
+void __wrap_bsp_interrupt_dispatch( uint32_t source )
+{
+  register uintptr_t sp __asm__( "1" );
+
+  if ( interrupted_stack_at_multitasking_start == 0 ) {
+    interrupted_stack_at_multitasking_start = sp;
+  }
+
+  __real_bsp_interrupt_dispatch( source );
+}
+#endif
+
 #if defined(__PPC__) || defined(__powerpc64__)
 void __real_bsp_interrupt_dispatch( void );
 



More information about the vc mailing list