From c9973bbc5425e879c4f64f401a08d386a4e5790b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 17 May 1999 23:22:45 +0000 Subject: Split Interrupt Manager into one routine per file. --- cpukit/rtems/src/intr.c | 36 ----------------------------- cpukit/rtems/src/intrcatch.c | 55 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 36 deletions(-) create mode 100644 cpukit/rtems/src/intrcatch.c (limited to 'cpukit') diff --git a/cpukit/rtems/src/intr.c b/cpukit/rtems/src/intr.c index 45dce11bdd..de4703e949 100644 --- a/cpukit/rtems/src/intr.c +++ b/cpukit/rtems/src/intr.c @@ -30,39 +30,3 @@ void _Interrupt_Manager_initialization( void ) { } - -/* rtems_interrupt_catch - * - * This directive allows a thread to specify what action to take when - * catching signals. - * - * Input parameters: - * new_isr_handler - address of interrupt service routine (isr) - * vector - interrupt vector number - * old_isr_handler - address at which to store previous ISR address - * - * Output parameters: - * RTEMS_SUCCESSFUL - always succeeds - * *old_isr_handler - previous ISR address - */ - -rtems_status_code rtems_interrupt_catch( - rtems_isr_entry new_isr_handler, - rtems_vector_number vector, - rtems_isr_entry *old_isr_handler -) -{ - if ( !_ISR_Is_vector_number_valid( vector ) ) - return RTEMS_INVALID_NUMBER; - - if ( !_ISR_Is_valid_user_handler( (void *) new_isr_handler ) ) - return RTEMS_INVALID_ADDRESS; - - if ( !_ISR_Is_valid_user_handler( (void *) old_isr_handler ) ) - return RTEMS_INVALID_ADDRESS; - - _ISR_Install_vector( - vector, (proc_ptr)new_isr_handler, (proc_ptr *)old_isr_handler ); - - return RTEMS_SUCCESSFUL; -} diff --git a/cpukit/rtems/src/intrcatch.c b/cpukit/rtems/src/intrcatch.c new file mode 100644 index 0000000000..6ceedd7069 --- /dev/null +++ b/cpukit/rtems/src/intrcatch.c @@ -0,0 +1,55 @@ +/* + * Interrupt Manager + * + * + * COPYRIGHT (c) 1989-1998. + * On-Line Applications Research Corporation (OAR). + * Copyright assigned to U.S. Government, 1994. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.OARcorp.com/rtems/license.html. + * + * $Id$ + */ + +#include +#include +#include +#include + +/* rtems_interrupt_catch + * + * This directive allows a thread to specify what action to take when + * catching signals. + * + * Input parameters: + * new_isr_handler - address of interrupt service routine (isr) + * vector - interrupt vector number + * old_isr_handler - address at which to store previous ISR address + * + * Output parameters: + * RTEMS_SUCCESSFUL - always succeeds + * *old_isr_handler - previous ISR address + */ + +rtems_status_code rtems_interrupt_catch( + rtems_isr_entry new_isr_handler, + rtems_vector_number vector, + rtems_isr_entry *old_isr_handler +) +{ + if ( !_ISR_Is_vector_number_valid( vector ) ) + return RTEMS_INVALID_NUMBER; + + if ( !_ISR_Is_valid_user_handler( (void *) new_isr_handler ) ) + return RTEMS_INVALID_ADDRESS; + + if ( !_ISR_Is_valid_user_handler( (void *) old_isr_handler ) ) + return RTEMS_INVALID_ADDRESS; + + _ISR_Install_vector( + vector, (proc_ptr)new_isr_handler, (proc_ptr *)old_isr_handler ); + + return RTEMS_SUCCESSFUL; +} -- cgit v1.2.3