From 510fbfc314a5eb50ce68bb7c2df2b3056e479e99 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 8 Nov 2018 15:31:03 +0100 Subject: sh: Remove use of proc_ptr Update #3585. --- bsps/sh/gensh1/start/cpu_asm.c | 3 -- bsps/sh/gensh1/start/ispsh7032.c | 4 +-- bsps/sh/gensh2/start/cpu_asm.c | 3 -- bsps/sh/gensh2/start/ispsh7045.c | 4 +-- bsps/sh/gensh4/start/cpu_asm.c | 3 -- bsps/sh/shared/start/setvec.c | 2 +- bsps/sh/shsim/start/ispshgdb.c | 4 +-- cpukit/score/cpu/sh/cpu.c | 43 +++++++-------------------- cpukit/score/cpu/sh/include/rtems/score/cpu.h | 27 +++++++---------- 9 files changed, 27 insertions(+), 66 deletions(-) diff --git a/bsps/sh/gensh1/start/cpu_asm.c b/bsps/sh/gensh1/start/cpu_asm.c index 57c5c11796..2556623c47 100644 --- a/bsps/sh/gensh1/start/cpu_asm.c +++ b/bsps/sh/gensh1/start/cpu_asm.c @@ -41,9 +41,6 @@ #include #include -/* from cpu_isps.c */ -extern proc_ptr _Hardware_isr_Table[]; - unsigned long *_old_stack_ptr; register unsigned long *stack_ptr __asm__ ("r15"); diff --git a/bsps/sh/gensh1/start/ispsh7032.c b/bsps/sh/gensh1/start/ispsh7032.c index 05ba2f1e90..9857b755ab 100644 --- a/bsps/sh/gensh1/start/ispsh7032.c +++ b/bsps/sh/gensh1/start/ispsh7032.c @@ -25,7 +25,7 @@ * http://www.rtems.org/license/LICENSE. */ -#include +#include #include /* @@ -33,7 +33,7 @@ * * It has the same structure like the actual vector table (vectab) */ -proc_ptr _Hardware_isr_Table[256]={ +CPU_ISR_raw_handler _Hardware_isr_Table[256]={ _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, diff --git a/bsps/sh/gensh2/start/cpu_asm.c b/bsps/sh/gensh2/start/cpu_asm.c index 7d6e09c4c4..479b771d73 100644 --- a/bsps/sh/gensh2/start/cpu_asm.c +++ b/bsps/sh/gensh2/start/cpu_asm.c @@ -39,9 +39,6 @@ #include #include -/* from cpu_isps.c */ -extern proc_ptr _Hardware_isr_Table[]; - unsigned long *_old_stack_ptr; register unsigned long *stack_ptr __asm__ ("r15"); diff --git a/bsps/sh/gensh2/start/ispsh7045.c b/bsps/sh/gensh2/start/ispsh7045.c index 4e6dabed3f..874d930ba1 100644 --- a/bsps/sh/gensh2/start/ispsh7045.c +++ b/bsps/sh/gensh2/start/ispsh7045.c @@ -37,7 +37,7 @@ * by the authors or by TGA Technologies. */ -#include +#include /* * This is a exception vector table @@ -49,7 +49,7 @@ /* SH-2 ISR Table */ #include -proc_ptr _Hardware_isr_Table[256]={ +CPU_ISR_raw_handler _Hardware_isr_Table[256]={ _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, /* PWRon Reset, Maual Reset,...*/ _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, diff --git a/bsps/sh/gensh4/start/cpu_asm.c b/bsps/sh/gensh4/start/cpu_asm.c index 7618db3e27..6b530fe8b7 100644 --- a/bsps/sh/gensh4/start/cpu_asm.c +++ b/bsps/sh/gensh4/start/cpu_asm.c @@ -39,9 +39,6 @@ #include #include -/* from cpu_isps.c */ -extern proc_ptr _Hardware_isr_Table[]; - unsigned long *_old_stack_ptr; register unsigned long *stack_ptr __asm__ ("r15"); diff --git a/bsps/sh/shared/start/setvec.c b/bsps/sh/shared/start/setvec.c index c3f4071aea..5d11e64f72 100644 --- a/bsps/sh/shared/start/setvec.c +++ b/bsps/sh/shared/start/setvec.c @@ -48,7 +48,7 @@ sh_isr_entry set_vector( /* returns old vector */ if ( type ) rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr ); else { - _CPU_ISR_install_raw_handler( vector, handler, (proc_ptr*) &previous_isr ); + _CPU_ISR_install_raw_handler( vector, handler, &previous_isr ); } return previous_isr; diff --git a/bsps/sh/shsim/start/ispshgdb.c b/bsps/sh/shsim/start/ispshgdb.c index 09843172d9..f69ea10955 100644 --- a/bsps/sh/shsim/start/ispshgdb.c +++ b/bsps/sh/shsim/start/ispshgdb.c @@ -27,7 +27,7 @@ * Modified to reflect dummy isp entries for GDB SH simulator by Joel. */ -#include +#include /* * This is a exception vector table @@ -37,7 +37,7 @@ void _dummy_isp(uint32_t); -proc_ptr _Hardware_isr_Table[256]={ +CPU_ISR_raw_handler _Hardware_isr_Table[256]={ _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, /* PWRon Reset, Maual Reset,...*/ _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, diff --git a/cpukit/score/cpu/sh/cpu.c b/cpukit/score/cpu/sh/cpu.c index b1e8766ff0..9f8be46b93 100644 --- a/cpukit/score/cpu/sh/cpu.c +++ b/cpukit/score/cpu/sh/cpu.c @@ -37,11 +37,7 @@ #include /* referenced in start.S */ -extern proc_ptr vectab[] ; - -proc_ptr vectab[256] ; - -extern proc_ptr _Hardware_isr_Table[]; +CPU_ISR_raw_handler vectab[256] ; #if SH_HAS_FPU Context_Control_fp _CPU_Null_fp_context; @@ -98,21 +94,18 @@ uint32_t _CPU_ISR_Get_level( void ) return ( _mask); } -/* - * _CPU_ISR_install_raw_handler - */ - void _CPU_ISR_install_raw_handler( - uint32_t vector, - proc_ptr new_handler, - proc_ptr *old_handler + uint32_t vector, + CPU_ISR_raw_handler new_handler, + CPU_ISR_raw_handler *old_handler ) + { /* * This is where we install the interrupt handler into the "raw" interrupt * table used by the CPU to dispatch interrupt handlers. */ - volatile proc_ptr *vbr ; + volatile CPU_ISR_raw_handler *vbr ; #if SH_PARANOID_ISR uint32_t level ; @@ -131,30 +124,14 @@ void _CPU_ISR_install_raw_handler( #endif } - -/* - * _CPU_ISR_install_vector - * - * This kernel routine installs the RTEMS handler for the - * specified vector. - * - * Input parameters: - * vector - interrupt vector number - * old_handler - former ISR for this vector number - * new_handler - replacement ISR for this vector number - * - * Output parameters: NONE - * - */ - void _CPU_ISR_install_vector( - uint32_t vector, - proc_ptr new_handler, - proc_ptr *old_handler + uint32_t vector, + CPU_ISR_handler new_handler, + CPU_ISR_handler *old_handler ) { #if defined(__sh1__) || defined(__sh2__) - proc_ptr ignored ; + CPU_ISR_raw_handler ignored ; #endif *old_handler = _ISR_Vector_table[ vector ]; diff --git a/cpukit/score/cpu/sh/include/rtems/score/cpu.h b/cpukit/score/cpu/sh/include/rtems/score/cpu.h index 61d8e56448..0d633b0c68 100644 --- a/cpukit/score/cpu/sh/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/sh/include/rtems/score/cpu.h @@ -546,29 +546,22 @@ void _CPU_Context_Initialize( */ void _CPU_Initialize(void); -/* - * _CPU_ISR_install_raw_handler - * - * This routine installs a "raw" interrupt handler directly into the - * processor's vector table. - */ +typedef void ( *CPU_ISR_raw_handler )( void ); + +extern CPU_ISR_raw_handler _Hardware_isr_Table[]; void _CPU_ISR_install_raw_handler( - uint32_t vector, - proc_ptr new_handler, - proc_ptr *old_handler + uint32_t vector, + CPU_ISR_raw_handler new_handler, + CPU_ISR_raw_handler *old_handler ); -/* - * _CPU_ISR_install_vector - * - * This routine installs an interrupt vector. - */ +typedef void ( *CPU_ISR_handler )( uint32_t ); void _CPU_ISR_install_vector( - uint32_t vector, - proc_ptr new_handler, - proc_ptr *old_handler + uint32_t vector, + CPU_ISR_handler new_handler, + CPU_ISR_handler *old_handler ); void *_CPU_Thread_Idle_body( uintptr_t ignored ); -- cgit v1.2.3