summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2022-11-10 08:53:48 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-11-10 08:55:38 +0100
commite4210d5a08ff5bb7faff6447da3098181a70938f (patch)
tree2c0596cbede68928d266019d51a529694a84e7dc
parentbsps/riscv: Simplify riscv_plic_init() (diff)
downloadrtems-e4210d5a08ff5bb7faff6447da3098181a70938f.tar.bz2
bsps/riscv: Skip init on not configured processors
-rw-r--r--bsps/riscv/riscv/irq/irq.c11
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;