summaryrefslogtreecommitdiff
path: root/ecos
diff options
context:
space:
mode:
authorsave2007-10-04 15:25:18 +0000
committersave2007-10-04 15:25:18 +0000
commit064ac865de130c91038d3a8fd323fee9c67ef64b (patch)
tree0004821b7257bb647a08b2296fde4277090b5ef3 /ecos
parent2c0489b89ce364de0441f25d66aa682dadb3742a (diff)
Suppressed unused function maximus_exception_sighandler
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@774 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'ecos')
-rw-r--r--ecos/packages/hal/maximus/arch/current/src/maximus_intr.c53
1 files changed, 0 insertions, 53 deletions
diff --git a/ecos/packages/hal/maximus/arch/current/src/maximus_intr.c b/ecos/packages/hal/maximus/arch/current/src/maximus_intr.c
index c059643360..5c2be5a66c 100644
--- a/ecos/packages/hal/maximus/arch/current/src/maximus_intr.c
+++ b/ecos/packages/hal/maximus/arch/current/src/maximus_intr.c
@@ -299,59 +299,6 @@ hal_interrupt_set_level(cyg_vector_t which, cyg_priority_t level)
maximus_isr_handlers[which].pri = level;
}
-// ----------------------------------------------------------------------------
-// Exception handling. Typically this involves calling into the kernel,
-// translating the POSIX signal number into a HAL exception number. In
-// practice these signals will generally be caught in the debugger and
-// will not have to be handled by eCos itself.
-
-static void
-maximus_exception_sighandler(int sig)
-{
- CYG_WORD ecos_exception_number = 0;
- cyg_bool_t old;
-
- // There is no need to save state, that will have been done by the
- // system as part of the signal delivery process.
-
- // Disable interrupts.
- HAL_DISABLE_INTERRUPTS(old);
-
- // Now decode the signal and turn it into an eCos exception.
- switch(sig) {
- case CYG_HAL_SYS_SIGILL:
- ecos_exception_number = CYGNUM_HAL_EXCEPTION_ILLEGAL_INSTRUCTION;
- break;
- case CYG_HAL_SYS_SIGBUS:
- case CYG_HAL_SYS_SIGSEGV:
- ecos_exception_number = CYGNUM_HAL_EXCEPTION_DATA_ACCESS;
- break;
- case CYG_HAL_SYS_SIGFPE:
- ecos_exception_number = CYGNUM_HAL_EXCEPTION_FPU;
- break;
- default:
- CYG_FAIL("Unknown signal");
- break;
- }
-
-#ifdef CYGPKG_KERNEL_EXCEPTIONS
- // Deliver the signal, usually to the kernel, possibly to the
- // common HAL. The second argument should be the current
- // savestate, but that is not readily accessible.
- cyg_hal_deliver_exception(ecos_exception_number, (CYG_ADDRWORD) 0);
-
- // It is now necessary to restore the machine state, including
- // interrupts. In theory higher level code may have manipulated
- // the machine state to prevent any recurrence of the exception.
- // In practice the machine state is not readily accessible.
- HAL_RESTORE_INTERRUPTS(old);
-#else
- CYG_FAIL("Exception!!!");
- station_down(&my_station);
- HAL_PLATFORM_EXIT(1);
-#endif
-}
-
static void
maximus_terminate_sighandler(int sig)
{