diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-09 08:01:53 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-12 13:25:42 +0100 |
commit | 685aa280eaa95c2790bc09c42b6dff2261a220d7 (patch) | |
tree | ed1ad1c683184f0b149451c7a129141ab172a76d | |
parent | no_cpu: Remove use of proc_ptr (diff) | |
download | rtems-685aa280eaa95c2790bc09c42b6dff2261a220d7.tar.bz2 |
arm: Remove use of proc_ptr
Update #3585.
-rw-r--r-- | cpukit/score/cpu/arm/armv7m-isr-vector-install.c | 6 | ||||
-rw-r--r-- | cpukit/score/cpu/arm/cpu.c | 16 | ||||
-rw-r--r-- | 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 ); /** |