RTEMS 6.1-rc4
Loading...
Searching...
No Matches
Files | Macros | Enumerations

This group contains the implementation to support SMP systems. More...

Files

file  smp.h
 This header file provides interfaces of the SMP Support which are used by the implementation and the Application Configuration.
 
file  smpimpl.h
 This header file provides interfaces of the SMP Support which are only used by the implementation.
 
file  smp.c
 This source file contains the definition of _SMP_Online_processors and _SMP_Processor_maximum and the implementation of _SMP_Handler_initialize(), _SMP_Process_message(), _SMP_Request_shutdown(), _SMP_Request_start_multitasking(), _SMP_Send_message(), _SMP_Should_start_processor(), _SMP_Start_multitasking_on_secondary_processor(), and _SMP_Try_to_process_message().
 
file  smpbroadcastaction.c
 This source file contains the implementation of _SMP_Broadcast_action().
 
file  smpmulticastaction.c
 This source file contains the implementation of _SMP_Multicast_action().
 
file  smpothercastaction.c
 This source file contains the implementation of _SMP_Othercast_action().
 
file  smpsynchronize.c
 This source file contains the implementation of _SMP_Synchronize().
 
file  smpunicastaction.c
 This source file contains the implementation of _SMP_Unicast_action().
 

Macros

#define _SMP_Processor_configured_maximum   1
 The configured processor maximum.
 
#define _SMP_Get_processor_maximum()   UINT32_C(1)
 
#define _SMP_Get_current_processor()   UINT32_C(0)
 
#define SMP_MESSAGE_SHUTDOWN   0x1UL
 SMP message to request a processor shutdown.
 
#define SMP_MESSAGE_PERFORM_JOBS   0x2UL
 SMP message to perform per-processor jobs.
 
#define SMP_MESSAGE_FORCE_PROCESSING   0x4UL
 SMP message to force the message processing in _SMP_Try_to_process_message().
 
#define _SMP_Handler_initialize()    do { } while ( 0 )
 Initializes SMP Handler.
 
#define _SMP_Request_start_multitasking()    do { } while ( 0 )
 Requests a multitasking start on all configured and available processors.
 
#define _SMP_Request_shutdown()    do { } while ( 0 )
 Requests a shutdown of all processors.
 

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_SCHEDULER_REQUIRES_EXACTLY_ONE_PROCESSOR , SMP_FATAL_MULTITASKING_START_ON_NOT_ONLINE_PROCESSOR
}
 SMP fatal codes.
 

Detailed Description

This group contains the implementation to support SMP systems.

This defines the interface of the SuperCore SMP support.

Macro Definition Documentation

◆ _SMP_Handler_initialize

#define _SMP_Handler_initialize (   void)     do { } while ( 0 )

Initializes SMP Handler.

This method initialize the SMP Handler.

◆ _SMP_Processor_configured_maximum

#define _SMP_Processor_configured_maximum   1

The configured processor maximum.

In SMP configurations, this constant is defined by the application configuration via <rtems/confdefs.h>, otherwise it is a compile-time constant with the value one.

◆ _SMP_Request_shutdown

#define _SMP_Request_shutdown (   void)     do { } while ( 0 )

Requests a shutdown of all processors.

This function is a part of the system termination procedure.

See also
_Terminate().

◆ SMP_MESSAGE_FORCE_PROCESSING

#define SMP_MESSAGE_FORCE_PROCESSING   0x4UL

SMP message to force the message processing in _SMP_Try_to_process_message().

This message bit is never sent to a processor. It is only used to force the message processing in _SMP_Try_to_process_message(). Any non-zero value would do it.

◆ SMP_MESSAGE_PERFORM_JOBS

#define SMP_MESSAGE_PERFORM_JOBS   0x2UL

SMP message to perform per-processor jobs.

See also
_SMP_Send_message().

◆ SMP_MESSAGE_SHUTDOWN

#define SMP_MESSAGE_SHUTDOWN   0x1UL

SMP message to request a processor shutdown.

See also
_SMP_Send_message().