summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-09 08:04:23 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-12 13:25:43 +0100
commit264e1284658b27f7ca30c767114900d564f1bda1 (patch)
tree12715a7f53c2283286e9ee0e6a58070f05108dbb
parentmips: Remove use of proc_ptr (diff)
downloadrtems-264e1284658b27f7ca30c767114900d564f1bda1.tar.bz2
moxie: Remove use of proc_ptr
Update #3585.
-rw-r--r--cpukit/score/cpu/moxie/cpu.c55
-rw-r--r--cpukit/score/cpu/moxie/include/rtems/score/cpu.h33
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 );