RTEMS
schedulerdefaultpinunpin.c
1 /*
2  * Copyright (c) 2018 embedded brains GmbH
3  *
4  * The license and distribution terms for this file may be
5  * found in the file LICENSE in this distribution or at
6  * http://www.rtems.org/license/LICENSE.
7  */
8 
9 #ifdef HAVE_CONFIG_H
10 #include "config.h"
11 #endif
12 
13 #include <rtems/score/scheduler.h>
14 #include <rtems/score/interr.h>
15 #include <rtems/score/smpimpl.h>
16 
18  const Scheduler_Control *scheduler,
19  Thread_Control *the_thread,
20  Scheduler_Node *node,
21  struct Per_CPU_Control *cpu
22 )
23 {
24  (void) scheduler;
25  (void) the_thread;
26  (void) node;
27  (void) cpu;
28 
29  if ( _SMP_Get_processor_maximum() > 1 ) {
30  _Terminate(
32  SMP_FATAL_SCHEDULER_PIN_OR_UNPIN_NOT_SUPPORTED
33  );
34  }
35 }
Constants and Prototypes Related to the Internal Error Handler.
Fatal source of SMP domain.
Definition: interr.h:126
void _Terminate(Internal_errors_Source the_source, Internal_errors_t the_error) RTEMS_NO_RETURN
Initiates system termination.
Definition: interr.c:31
Per CPU Core Structure.
Definition: percpu.h:347
void _Scheduler_default_Pin_or_unpin(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node, struct Per_CPU_Control *cpu)
Does nothing in a single processor system, otherwise a fatal error is issued.
Scheduler control.
Definition: scheduler.h:264
Scheduler node for per-thread data.
Definition: schedulernode.h:79
Constants and Structures Associated with the Scheduler.
SuperCore SMP Implementation.