summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/schedulersimplesmp.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/include/rtems/score/schedulersimplesmp.h')
-rw-r--r--cpukit/score/include/rtems/score/schedulersimplesmp.h155
1 files changed, 0 insertions, 155 deletions
diff --git a/cpukit/score/include/rtems/score/schedulersimplesmp.h b/cpukit/score/include/rtems/score/schedulersimplesmp.h
deleted file mode 100644
index bc75b205d5..0000000000
--- a/cpukit/score/include/rtems/score/schedulersimplesmp.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/**
- * @file
- *
- * @brief Simple SMP Scheduler API
- *
- * @ingroup ScoreSchedulerSMPSimple
- */
-
-/*
- * Copyright (C) 2011 On-Line Applications Research Corporation (OAR).
- *
- * Copyright (c) 2013, 2016 embedded brains GmbH.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_SCORE_SCHEDULERSIMPLE_SMP_H
-#define _RTEMS_SCORE_SCHEDULERSIMPLE_SMP_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <rtems/score/scheduler.h>
-#include <rtems/score/schedulerpriority.h>
-#include <rtems/score/schedulersmp.h>
-
-/**
- * @defgroup ScoreSchedulerSMPSimple Simple Priority SMP Scheduler
- *
- * @ingroup ScoreSchedulerSMP
- *
- * The Simple Priority SMP Scheduler allocates a processor for the processor
- * count highest priority ready threads. The thread priority and position in
- * the ready chain are the only information to determine the scheduling
- * decision. Threads with an allocated processor are in the scheduled chain.
- * After initialization the scheduled chain has exactly processor count nodes.
- * Each processor has exactly one allocated thread after initialization. All
- * enqueue and extract operations may exchange threads with the scheduled
- * chain. One thread will be added and another will be removed. The scheduled
- * and ready chain is ordered according to the thread priority order. The
- * chain insert operations are O(count of ready threads), thus this scheduler
- * is unsuitable for most real-time applications.
- *
- * The thread preempt mode will be ignored.
- *
- * @{
- */
-
-typedef struct {
- Scheduler_SMP_Context Base;
- Chain_Control Ready;
-} Scheduler_simple_SMP_Context;
-
-#define SCHEDULER_SIMPLE_SMP_MAXIMUM_PRIORITY 255
-
-/**
- * @brief Entry points for the Simple SMP Scheduler.
- */
-#define SCHEDULER_SIMPLE_SMP_ENTRY_POINTS \
- { \
- _Scheduler_simple_SMP_Initialize, \
- _Scheduler_default_Schedule, \
- _Scheduler_simple_SMP_Yield, \
- _Scheduler_simple_SMP_Block, \
- _Scheduler_simple_SMP_Unblock, \
- _Scheduler_simple_SMP_Update_priority, \
- _Scheduler_default_Map_priority, \
- _Scheduler_default_Unmap_priority, \
- _Scheduler_simple_SMP_Ask_for_help, \
- _Scheduler_simple_SMP_Reconsider_help_request, \
- _Scheduler_simple_SMP_Withdraw_node, \
- _Scheduler_simple_SMP_Add_processor, \
- _Scheduler_simple_SMP_Remove_processor, \
- _Scheduler_simple_SMP_Node_initialize, \
- _Scheduler_default_Node_destroy, \
- _Scheduler_default_Release_job, \
- _Scheduler_default_Cancel_job, \
- _Scheduler_default_Tick, \
- _Scheduler_SMP_Start_idle \
- SCHEDULER_OPERATION_DEFAULT_GET_SET_AFFINITY \
- }
-
-void _Scheduler_simple_SMP_Initialize( const Scheduler_Control *scheduler );
-
-void _Scheduler_simple_SMP_Node_initialize(
- const Scheduler_Control *scheduler,
- Scheduler_Node *node,
- Thread_Control *the_thread,
- Priority_Control priority
-);
-
-void _Scheduler_simple_SMP_Block(
- const Scheduler_Control *scheduler,
- Thread_Control *thread,
- Scheduler_Node *node
-);
-
-void _Scheduler_simple_SMP_Unblock(
- const Scheduler_Control *scheduler,
- Thread_Control *thread,
- Scheduler_Node *node
-);
-
-void _Scheduler_simple_SMP_Update_priority(
- const Scheduler_Control *scheduler,
- Thread_Control *the_thread,
- Scheduler_Node *node
-);
-
-bool _Scheduler_simple_SMP_Ask_for_help(
- const Scheduler_Control *scheduler,
- Thread_Control *the_thread,
- Scheduler_Node *node
-);
-
-void _Scheduler_simple_SMP_Reconsider_help_request(
- const Scheduler_Control *scheduler,
- Thread_Control *the_thread,
- Scheduler_Node *node
-);
-
-void _Scheduler_simple_SMP_Withdraw_node(
- const Scheduler_Control *scheduler,
- Thread_Control *the_thread,
- Scheduler_Node *node,
- Thread_Scheduler_state next_state
-);
-
-void _Scheduler_simple_SMP_Add_processor(
- const Scheduler_Control *scheduler,
- Thread_Control *idle
-);
-
-Thread_Control *_Scheduler_simple_SMP_Remove_processor(
- const Scheduler_Control *scheduler,
- struct Per_CPU_Control *cpu
-);
-
-void _Scheduler_simple_SMP_Yield(
- const Scheduler_Control *scheduler,
- Thread_Control *thread,
- Scheduler_Node *node
-);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-/* end of include file */