summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/qoriq/start/bsprestart.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2024-01-16 19:49:18 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2024-02-27 14:13:13 +0100
commit7e990236a705b513c2c48de3f612f59f76c697b4 (patch)
treebe8f0a32b8427fcab31ab3459eb9c02bcced4eba /bsps/powerpc/qoriq/start/bsprestart.c
parentUpdate company name (diff)
downloadrtems-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.c14
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);