This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
ARM DSR()-s in non-kernel mode
- From: Jani Monoses <jani at iv dot ro>
- To: ecos-patches at ecos dot sourceware dot org
- Date: Fri, 19 Nov 2004 16:58:07 +0200
- Subject: 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