|
RTEMS
|
SuperCore SMP Implementation. More...
#include <rtems/score/smp.h>#include <rtems/score/percpu.h>#include <rtems/score/processormask.h>#include <rtems/fatal.h>Go to the source code of this file.
Macros | |
| #define | SMP_MESSAGE_SHUTDOWN 0x1UL |
| SMP message to request a processor shutdown. More... | |
| #define | SMP_MESSAGE_PERFORM_JOBS 0x2UL |
| SMP message to perform per-processor jobs. More... | |
Typedefs | |
| typedef void(* | SMP_Action_handler) (void *arg) |
Enumerations | |
| enum | SMP_Fatal_code { SMP_FATAL_BOOT_PROCESSOR_NOT_ASSIGNED_TO_SCHEDULER, SMP_FATAL_MANDATORY_PROCESSOR_NOT_PRESENT, SMP_FATAL_MULTITASKING_START_ON_INVALID_PROCESSOR, SMP_FATAL_MULTITASKING_START_ON_UNASSIGNED_PROCESSOR, SMP_FATAL_SHUTDOWN, SMP_FATAL_SHUTDOWN_RESPONSE, SMP_FATAL_START_OF_MANDATORY_PROCESSOR_FAILED, SMP_FATAL_SCHEDULER_PIN_OR_UNPIN_NOT_SUPPORTED, SMP_FATAL_WRONG_CPU_STATE_TO_PERFORM_JOBS } |
| SMP fatal codes. | |
Functions | |
| static void | _SMP_Fatal (SMP_Fatal_code code) |
| Terminates with the given code. More... | |
| void | _SMP_Handler_initialize (void) |
| Initializes SMP Handler. More... | |
| void | _SMP_Start_multitasking_on_secondary_processor (Per_CPU_Control *cpu_self) RTEMS_NO_RETURN |
| Performs high-level initialization of a secondary processor and runs the application threads. More... | |
| static long unsigned | _SMP_Inter_processor_interrupt_handler (Per_CPU_Control *cpu_self) |
| Interrupts handler for inter-processor interrupts. More... | |
| bool | _SMP_Should_start_processor (uint32_t cpu_index) |
| Checks if the processor with the specified index should be started. More... | |
| void | _SMP_Send_message (uint32_t cpu_index, unsigned long message) |
| Sends an SMP message to a processor. More... | |
| void | _SMP_Send_message_broadcast (unsigned long message) |
| Sends an SMP message to all other online processors. More... | |
| void | _SMP_Send_message_multicast (const Processor_mask *targets, unsigned long message) |
| Sends an SMP message to a set of processors. More... | |
| void | _SMP_Multicast_action (const Processor_mask *targets, SMP_Action_handler handler, void *arg) |
| Initiates an SMP multicast action to the set of target processors. More... | |
| void | _SMP_Broadcast_action (SMP_Action_handler handler, void *arg) |
| Initiates an SMP multicast action to the set of all online processors. More... | |
| void | _SMP_Othercast_action (SMP_Action_handler handler, void *arg) |
| Initiates an SMP multicast action to the set of all online processors excluding the current processor. More... | |
| void | _SMP_Unicast_action (uint32_t cpu_index, SMP_Action_handler handler, void *arg) |
| Initiates an SMP action on the specified target processor. More... | |
| void | _SMP_Synchronize (void) |
| Ensures that all store operations issued by the current processor before the call this function are visible to all other online processors. More... | |
| void | _SMP_Request_start_multitasking (void) |
| Requests a multitasking start on all configured and available processors. | |
| void | _SMP_Request_shutdown (void) |
| Requests a shutdown of all processors. More... | |
| static __inline__ const Processor_mask * | _SMP_Get_online_processors (void) |
| Gets all online processors. More... | |
| static __inline__ const bool | _SMP_Need_inter_processor_interrupts (void) |
| Indicate if inter-processor interrupts are needed. More... | |
Variables | |
| Processor_mask | _SMP_Online_processors |
| Set of online processors. More... | |
SuperCore SMP Implementation.
Definition in file smpimpl.h.
1.8.14