[rtems commit] moxie: Remove use of proc_ptr

Sebastian Huber sebh at rtems.org
Mon Nov 12 14:42:41 UTC 2018


Module:    rtems
Branch:    master
Commit:    264e1284658b27f7ca30c767114900d564f1bda1
Changeset: http://git.rtems.org/rtems/commit/?id=264e1284658b27f7ca30c767114900d564f1bda1

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Nov  9 08:04:23 2018 +0100

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 7fd21cd..9197797 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 fbf6894..4e8e8dd 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 );



More information about the vc mailing list