RTEMS  5.1
Files | Macros | Enumerations | Functions
SMP Support

SMP Support. More...

Files

file  smp.h
 SuperCore SMP Support API.
 

Macros

#define _SMP_Processor_configured_maximum   1
 The configured processor maximum. More...
 
#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. More...
 
#define SMP_MESSAGE_PERFORM_JOBS   0x2UL
 SMP message to perform per-processor jobs. More...
 
#define _SMP_Handler_initialize()   do { } while ( 0 )
 Initializes SMP Handler. More...
 
#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. More...
 

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

RTEMS_INLINE_ROUTINE const Processor_mask * _SMP_Get_online_processors (void)
 Gets all online processors. More...
 
RTEMS_INLINE_ROUTINE const bool _SMP_Need_inter_processor_interrupts (void)
 Indicate if inter-processor interrupts are needed. More...
 

Detailed Description

SMP Support.

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_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().

Function Documentation

◆ _SMP_Get_online_processors()

RTEMS_INLINE_ROUTINE const Processor_mask* _SMP_Get_online_processors ( void  )

Gets all online processors.

Returns
The processor mask with all online processors.

◆ _SMP_Need_inter_processor_interrupts()

RTEMS_INLINE_ROUTINE const bool _SMP_Need_inter_processor_interrupts ( void  )

Indicate if inter-processor interrupts are needed.

Returns
True if inter-processor interrupts are needed for the correct system operation, otherwise false.