From 36615183d642a8adb2f59ffcc38d7bf08e5dcb2a Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 10 Mar 2022 14:11:12 +0100 Subject: smp: Add fatal error Add SMP-specifc SMP_FATAL_MULTITASKING_START_ON_NOT_ONLINE_PROCESSOR fatal error. This fatal error helps to diagnose a broken SMP startup sequence. Without this error a context switch using the NULL pointer for the thread control block happens which may be difficult to debug. --- .../fatal-start-on-not-online-processor.yml | 21 +++++++++++++++++++++ spec/build/testsuites/validation/grp.yml | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 spec/build/testsuites/validation/fatal-start-on-not-online-processor.yml (limited to 'spec/build/testsuites') diff --git a/spec/build/testsuites/validation/fatal-start-on-not-online-processor.yml b/spec/build/testsuites/validation/fatal-start-on-not-online-processor.yml new file mode 100644 index 0000000000..7858041843 --- /dev/null +++ b/spec/build/testsuites/validation/fatal-start-on-not-online-processor.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: test-program +cflags: [] +copyrights: +- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: RTEMS_SMP +features: c cprogram +includes: [] +ldflags: +- -Wl,-wrap=_CPU_SMP_Start_processor +links: [] +source: +- testsuites/validation/tr-fatal-start-on-not-online-processor.c +- testsuites/validation/ts-fatal-start-on-not-online-processor.c +stlib: [] +target: testsuites/validation/ts-fatal-start-on-not-online-processor.exe +type: build +use-after: [] +use-before: [] diff --git a/spec/build/testsuites/validation/grp.yml b/spec/build/testsuites/validation/grp.yml index b7f481c56f..909936f149 100644 --- a/spec/build/testsuites/validation/grp.yml +++ b/spec/build/testsuites/validation/grp.yml @@ -24,6 +24,8 @@ links: uid: fatal-smp - role: build-dependency uid: fatal-start-of-mandatory-processor-failed +- role: build-dependency + uid: fatal-start-on-not-online-processor - role: build-dependency uid: fatal-too-large-tls-size - role: build-dependency -- cgit v1.2.3