This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ARM DSR()-s in non-kernel mode


Hello

this is what I had to do to get DSR's firing when not using the kernel.
It seems to work but I am not sure if it's enough.Could somebody familiar with
ARM vectors.S comment?

In particular the following is at the top of the file.

#ifdef CYGPKG_KERNEL  // no CDL yet
#include <pkgconf/kernel.h>
#else
# undef CYGFUN_HAL_COMMON_KERNEL_SUPPORT
# undef CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK
#endif


why is INTERRUPT_STACK undefed if it's a valid option, and the default for non-kernel mode?


thanks
Jani



--- orig/packages/hal/arm/arch/current/src/vectors.S
+++ mod/packages/hal/arm/arch/current/src/vectors.S
@@ -938,7 +938,6 @@
         str     r1,[r2]
         ldreq   sp,[sp]         // This should be the saved stack pointer
 #endif
-#ifdef CYGFUN_HAL_COMMON_KERNEL_SUPPORT
         // The return value from the handler (in r0) will indicate whether a
         // DSR is to be posted. Pass this together with a pointer to the
         // interrupt object we have just used to the interrupt tidy up routine.
@@ -956,7 +955,6 @@
                                 // threads and call scheduler
         ARM_MODE(r1,10)
 17:
-#endif

 //      mov     r0,sp
 //      bl      show_frame_out


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]