diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-11-10 08:53:48 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-11-10 08:55:38 +0100 |
commit | e4210d5a08ff5bb7faff6447da3098181a70938f (patch) | |
tree | 2c0596cbede68928d266019d51a529694a84e7dc | |
parent | bsps/riscv: Simplify riscv_plic_init() (diff) | |
download | rtems-e4210d5a08ff5bb7faff6447da3098181a70938f.tar.bz2 |
bsps/riscv: Skip init on not configured processors
-rw-r--r-- | bsps/riscv/riscv/irq/irq.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/bsps/riscv/riscv/irq/irq.c b/bsps/riscv/riscv/irq/irq.c index ba7078d5fb..6fcaee172e 100644 --- a/bsps/riscv/riscv/irq/irq.c +++ b/bsps/riscv/riscv/irq/irq.c @@ -44,6 +44,7 @@ #include <rtems/score/percpu.h> #include <rtems/score/riscv-utility.h> +#include <rtems/score/scheduler.h> #include <rtems/score/smpimpl.h> #include <libfdt.h> @@ -176,6 +177,11 @@ static void riscv_clint_init(const void *fdt) if (cpu_index >= rtems_configuration_get_maximum_processors()) { continue; } + + if ( _Scheduler_Initial_assignments[ cpu_index ].scheduler == NULL ) { + /* Skip not configured processor */ + continue; + } #else if (hart_index != RISCV_BOOT_HARTID) { continue; @@ -251,6 +257,11 @@ static void riscv_plic_init(const void *fdt) if (cpu_index >= rtems_configuration_get_maximum_processors()) { continue; } + + if ( _Scheduler_Initial_assignments[ cpu_index ].scheduler == NULL ) { + /* Skip not configured processor */ + continue; + } #else if (hart_index != RISCV_BOOT_HARTID) { continue; |