diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2005-02-25 21:02:17 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2005-02-25 21:02:17 +0000 |
commit | 8ce50cbf15e4d2ed60e690789fdb06fe290b7e8c (patch) | |
tree | fbb2866f0d45b529593bb06a06c8f0a643f10364 /c/src/lib/libbsp/arm/arm_bare_bsp/irq/irq.c | |
parent | 2005-02-24 Jay Monkman <jtm@lopingdog.com> (diff) | |
download | rtems-8ce50cbf15e4d2ed60e690789fdb06fe290b7e8c.tar.bz2 |
2005-02-25 Joel Sherrill <joel@OARcorp.com>
* arm_bare_bsp/.cvsignore, arm_bare_bsp/ChangeLog,
arm_bare_bsp/Makefile.am, arm_bare_bsp/bsp_specs,
arm_bare_bsp/configure.ac, arm_bare_bsp/clock/clockdrv.c,
arm_bare_bsp/include/.cvsignore, arm_bare_bsp/include/bsp.h,
arm_bare_bsp/include/registers.h, arm_bare_bsp/include/tm27.h,
arm_bare_bsp/irq/bsp_irq_asm.S, arm_bare_bsp/irq/bsp_irq_init.c,
arm_bare_bsp/irq/irq.c, arm_bare_bsp/irq/irq.h,
arm_bare_bsp/start/start.S, arm_bare_bsp/startup/bspstart.c,
arm_bare_bsp/startup/exit.c, arm_bare_bsp/startup/linkcmds: Removed.
Diffstat (limited to 'c/src/lib/libbsp/arm/arm_bare_bsp/irq/irq.c')
-rw-r--r-- | c/src/lib/libbsp/arm/arm_bare_bsp/irq/irq.c | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/c/src/lib/libbsp/arm/arm_bare_bsp/irq/irq.c b/c/src/lib/libbsp/arm/arm_bare_bsp/irq/irq.c deleted file mode 100644 index 3e1f17f488..0000000000 --- a/c/src/lib/libbsp/arm/arm_bare_bsp/irq/irq.c +++ /dev/null @@ -1,117 +0,0 @@ -/* irq.c - * - * This file contains the implementation of the function described in irq.h - * - * CopyRight (C) 2000 Canon Research France SA. - * Emmanuel Raguet, mailto:raguet@crf.canon.fr - * - * The license and distribution terms for this file may be - * found in found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - * - * $Id$ - */ - -#include <bsp.h> -#include <irq.h> -#include <registers.h> -#include <rtems/score/thread.h> -#include <rtems/score/apiext.h> - -/* - * This function check that the value given for the irq line - * is valid. - */ - -static int isValidInterrupt(int irq) -{ - if ( (irq < 0) || (irq > BSP_MAX_INT)) - return 0; - return 1; -} - -/* - * ------------------------ RTEMS Single Irq Handler Mngt Routines ---------------- - */ - -int BSP_install_rtems_irq_handler (const rtems_irq_connect_data* irq) -{ - rtems_irq_hdl *HdlTable; - rtems_interrupt_level level; - - if (!isValidInterrupt(irq->name)) { - return 0; - } - /* - * Check if default handler is actually connected. If not issue an error. - */ - HdlTable = VECTOR_TABLE; - if (*(HdlTable + irq->name) != default_int_handler) { - return 0; - } - - _CPU_ISR_Disable(level); - - /* - * store the new handler - */ - *(HdlTable + irq->name) = irq->hdl; - - /* - * Here is the code to install an interrupt vector - * for the BSP : unmask INT, .... - * ........................ - */ - - _CPU_ISR_Enable(level); - - return 1; -} - -int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data* irq) -{ - rtems_irq_hdl *HdlTable; - rtems_interrupt_level level; - - if (!isValidInterrupt(irq->name)) { - return 0; - } - /* - * Check if the handler is actually connected. If not issue an error. - */ - HdlTable = VECTOR_TABLE; - if (*(HdlTable + irq->name) != irq->hdl) { - return 0; - } - _CPU_ISR_Disable(level); - - /* - * Here is the code to uninstall an interrupt vector - * for the BSP : mask INT, .... - * ........................ - */ - - /* - * restore the default irq value - */ - *(HdlTable + irq->name) = default_int_handler; - - _CPU_ISR_Enable(level); - - return 1; -} - -void _ThreadProcessSignalsFromIrq (CPU_Exception_frame* ctx) -{ - /* - * Process pending signals that have not already been - * processed by _Thread_Displatch. This happens quite - * unfrequently : the ISR must have posted an action - * to the current running thread. - */ - if ( _Thread_Do_post_task_switch_extension || - _Thread_Executing->do_post_task_switch_extension ) { - _Thread_Executing->do_post_task_switch_extension = FALSE; - _API_extensions_Run_postswitch(); - } -} |