[PATCH 04/19] arm: Remove use of proc_ptr

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Nov 9 12:48:56 UTC 2018


Update #3585.
---
 cpukit/score/cpu/arm/armv7m-isr-vector-install.c |  6 +++---
 cpukit/score/cpu/arm/cpu.c                       | 16 ++++++++--------
 cpukit/score/cpu/arm/include/rtems/score/cpu.h   |  8 +++++---
 3 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/cpukit/score/cpu/arm/armv7m-isr-vector-install.c b/cpukit/score/cpu/arm/armv7m-isr-vector-install.c
index cb3abc91a9..26a0c5a31d 100644
--- a/cpukit/score/cpu/arm/armv7m-isr-vector-install.c
+++ b/cpukit/score/cpu/arm/armv7m-isr-vector-install.c
@@ -28,9 +28,9 @@
 #ifdef ARM_MULTILIB_ARCH_V7M
 
 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
 )
 {
   uint32_t level;
diff --git a/cpukit/score/cpu/arm/cpu.c b/cpukit/score/cpu/arm/cpu.c
index 01a43b3cfd..63c31a598d 100644
--- a/cpukit/score/cpu/arm/cpu.c
+++ b/cpukit/score/cpu/arm/cpu.c
@@ -144,24 +144,24 @@ uint32_t _CPU_ISR_Get_level( void )
 }
 
 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
 )
 {
   /* Redirection table starts at the end of the vector table */
-  volatile uint32_t *table = (volatile uint32_t *) (MAX_EXCEPTIONS * 4);
+  CPU_ISR_handler *table = (CPU_ISR_handler *) (MAX_EXCEPTIONS * 4);
 
-  uint32_t current_handler = table [vector];
+  CPU_ISR_handler current_handler = table [vector];
 
   /* The current handler is now the old one */
   if (old_handler != NULL) {
-    *old_handler = (proc_ptr) current_handler;
+    *old_handler = current_handler;
   }
 
   /* Write only if necessary to avoid writes to a maybe read-only memory */
-  if (current_handler != (uint32_t) new_handler) {
-    table [vector] = (uint32_t) new_handler;
+  if (current_handler != new_handler) {
+    table [vector] = new_handler;
   }
 }
 
diff --git a/cpukit/score/cpu/arm/include/rtems/score/cpu.h b/cpukit/score/cpu/arm/include/rtems/score/cpu.h
index a44abe167e..bb8270df10 100644
--- a/cpukit/score/cpu/arm/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/arm/include/rtems/score/cpu.h
@@ -464,10 +464,12 @@ void _CPU_Context_Initialize(
  */
 void _CPU_Initialize( void );
 
+typedef void ( *CPU_ISR_handler )( void );
+
 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
 );
 
 /**
-- 
2.16.4



More information about the devel mailing list