diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2024-01-16 19:49:18 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2024-02-27 14:13:13 +0100 |
commit | 7e990236a705b513c2c48de3f612f59f76c697b4 (patch) | |
tree | be8f0a32b8427fcab31ab3459eb9c02bcced4eba /bsps/powerpc/qoriq/include/tm27.h | |
parent | Update company name (diff) | |
download | rtems-7e990236a705b513c2c48de3f612f59f76c697b4.tar.bz2 |
bsp/qoriq: Use interrupt entry
Avoid heap usage in the basic BSP.
Diffstat (limited to '')
-rw-r--r-- | bsps/powerpc/qoriq/include/tm27.h | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/bsps/powerpc/qoriq/include/tm27.h b/bsps/powerpc/qoriq/include/tm27.h index 197a1d1b41..0c43823f0e 100644 --- a/bsps/powerpc/qoriq/include/tm27.h +++ b/bsps/powerpc/qoriq/include/tm27.h @@ -40,8 +40,6 @@ #ifndef TMTESTS_TM27_H #define TMTESTS_TM27_H -#include <assert.h> - #include <libcpu/powerpc-utility.h> #include <bsp/irq.h> @@ -55,33 +53,38 @@ static inline void Install_tm27_vector( rtems_interrupt_handler handler ) { - rtems_status_code sc; + static rtems_interrupt_entry entry_low; + static rtems_interrupt_entry entry_high; rtems_vector_number low = QORIQ_IRQ_IPI_0 + IPI_INDEX_LOW; rtems_vector_number high = QORIQ_IRQ_IPI_0 + IPI_INDEX_HIGH; - sc = rtems_interrupt_handler_install( + rtems_interrupt_entry_initialize( + &entry_low, + handler, + NULL, + "tm17 low" + ); + (void) rtems_interrupt_entry_install( low, - "tm17 low", RTEMS_INTERRUPT_UNIQUE, - handler, - NULL + &entry_low ); - assert(sc == RTEMS_SUCCESSFUL); - sc = qoriq_pic_set_priority(low, 1, NULL); - assert(sc == RTEMS_SUCCESSFUL); + (void) qoriq_pic_set_priority(low, 1, NULL); - sc = rtems_interrupt_handler_install( + rtems_interrupt_entry_initialize( + &entry_high, + handler, + NULL, + "tm17 high" + ); + (void) rtems_interrupt_entry_install( high, - "tm17 high", RTEMS_INTERRUPT_UNIQUE, - handler, - NULL + &entry_high ); - assert(sc == RTEMS_SUCCESSFUL); - sc = qoriq_pic_set_priority(high, 2, NULL); - assert(sc == RTEMS_SUCCESSFUL); + (void) qoriq_pic_set_priority(high, 2, NULL); } static inline void qoriq_tm27_cause(uint32_t ipi_index) |