diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-09 08:04:23 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-12 13:25:43 +0100 |
commit | 264e1284658b27f7ca30c767114900d564f1bda1 (patch) | |
tree | 12715a7f53c2283286e9ee0e6a58070f05108dbb | |
parent | mips: Remove use of proc_ptr (diff) | |
download | rtems-264e1284658b27f7ca30c767114900d564f1bda1.tar.bz2 |
moxie: Remove use of proc_ptr
Update #3585.
-rw-r--r-- | cpukit/score/cpu/moxie/cpu.c | 55 | ||||
-rw-r--r-- | 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 ); |