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/start/bsprestart.c | |
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 'bsps/powerpc/qoriq/start/bsprestart.c')
-rw-r--r-- | bsps/powerpc/qoriq/start/bsprestart.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/bsps/powerpc/qoriq/start/bsprestart.c b/bsps/powerpc/qoriq/start/bsprestart.c index 940a4db5fa..eefa34d6d9 100644 --- a/bsps/powerpc/qoriq/start/bsprestart.c +++ b/bsps/powerpc/qoriq/start/bsprestart.c @@ -117,6 +117,8 @@ static void raise_restart_interrupt(void) ppc_synchronize_instructions(); } +static rtems_interrupt_entry restart_entry; + void bsp_restart(void *addr) { rtems_status_code sc; @@ -130,12 +132,16 @@ void bsp_restart(void *addr) rtems_cache_flush_multiple_data_lines(spin_table, sizeof(*spin_table)); } - sc = rtems_interrupt_handler_install( + rtems_interrupt_entry_initialize( + &restart_entry, + restart_interrupt, + addr, + "Restart" + ); + sc = rtems_interrupt_entry_install( QORIQ_IRQ_IPI_0 + RESTART_IPI_INDEX, - "Restart", RTEMS_INTERRUPT_UNIQUE, - restart_interrupt, - addr + &restart_entry ); if (sc != RTEMS_SUCCESSFUL) { bsp_fatal(QORIQ_FATAL_RESTART_INSTALL_INTERRUPT); |