From 264e1284658b27f7ca30c767114900d564f1bda1 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 9 Nov 2018 08:04:23 +0100 Subject: moxie: Remove use of proc_ptr Update #3585. --- cpukit/score/cpu/moxie/cpu.c | 55 +++--------------------- cpukit/score/cpu/moxie/include/rtems/score/cpu.h | 33 +++----------- 2 files changed, 10 insertions(+), 78 deletions(-) diff --git a/cpukit/score/cpu/moxie/cpu.c b/cpukit/score/cpu/moxie/cpu.c index 7fd21cd04c..9197797d25 100644 --- a/cpukit/score/cpu/moxie/cpu.c +++ b/cpukit/score/cpu/moxie/cpu.c @@ -49,59 +49,14 @@ uint32_t _CPU_ISR_Get_level( void ) return 0; } -/* - * _CPU_ISR_install_raw_handler - */ -void _CPU_ISR_install_raw_handler( - uint32_t vector, - proc_ptr new_handler, - proc_ptr *old_handler -) -{ - /* - * This is where we install the interrupt handler into the "raw" interrupt - * table used by the CPU to dispatch interrupt handlers. - * Use Debug level IRQ Handlers - */ - /* H8BD_Install_IRQ(vector,new_handler,old_handler); */ -} - -/* - * _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 ) { - *old_handler = _ISR_Vector_table[ vector ]; - - /* - * If the interrupt vector table is a table of pointer to isr entry - * points, then we need to install the appropriate RTEMS interrupt - * handler for this vector number. - */ - - _CPU_ISR_install_raw_handler( vector, new_handler, old_handler ); - - /* - * We put the actual user ISR address in '_ISR_vector_table'. This will - * be used by the _ISR_Handler so the user gets control. - */ - - _ISR_Vector_table[ vector ] = new_handler; + *old_handler = _ISR_Vector_table[ vector ]; + _ISR_Vector_table[ vector ] = new_handler; } /* diff --git a/cpukit/score/cpu/moxie/include/rtems/score/cpu.h b/cpukit/score/cpu/moxie/include/rtems/score/cpu.h index fbf689438e..4e8e8dd804 100644 --- a/cpukit/score/cpu/moxie/include/rtems/score/cpu.h +++ b/cpukit/score/cpu/moxie/include/rtems/score/cpu.h @@ -478,7 +478,7 @@ uint32_t _CPU_ISR_Get_level( void ); (void) _is_fp; /* avoid warning for being unused */ \ (void) _isr; /* avoid warning for being unused */ \ _stack = ((uintptr_t)(_stack_base)) + (_size) - 8; \ - *((proc_ptr *)(_stack)) = (_entry_point); \ + *((void (**)(void))(_stack)) = (_entry_point); \ _stack -= 4; \ (_the_context)->fp = (void *)_stack; \ (_the_context)->sp = (void *)_stack; \ @@ -538,35 +538,12 @@ uint32_t _CPU_ISR_Get_level( void ); */ void _CPU_Initialize(void); -/* - * _CPU_ISR_install_raw_handler - * - * This routine installs a "raw" interrupt handler directly into the - * processor's vector table. - * - * MOXIE Specific Information: - * - * XXX - */ -void _CPU_ISR_install_raw_handler( - uint32_t vector, - proc_ptr new_handler, - proc_ptr *old_handler -); +typedef void ( *CPU_ISR_handler )( uint32_t ); -/* - * _CPU_ISR_install_vector - * - * This routine installs an interrupt vector. - * - * MOXIE Specific Information: - * - * XXX - */ 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 ); -- cgit v1.2.3