forked from Imagelibrary/rtems
sapi: Add rtems_configuration_is_smp_enabled()
Add a configuration field which indicates if the SMP mode of operation is enabled. This can be used to disable features unsupported on SMP, e.g task variables.
This commit is contained in:
@@ -2364,6 +2364,13 @@ const rtems_libio_helper rtems_fs_init_helper =
|
||||
#else
|
||||
false,
|
||||
#endif
|
||||
#ifdef RTEMS_SMP
|
||||
#ifdef CONFIGURE_SMP_APPLICATION
|
||||
true,
|
||||
#else
|
||||
false,
|
||||
#endif
|
||||
#endif
|
||||
CONFIGURE_MAXIMUM_DRIVERS, /* maximum device drivers */
|
||||
CONFIGURE_NUMBER_OF_DRIVERS, /* static device drivers */
|
||||
Device_drivers, /* pointer to driver table */
|
||||
|
||||
@@ -222,6 +222,10 @@ typedef struct {
|
||||
*/
|
||||
bool stack_allocator_avoids_work_space;
|
||||
|
||||
#ifdef RTEMS_SMP
|
||||
bool smp_enabled;
|
||||
#endif
|
||||
|
||||
uint32_t maximum_drivers;
|
||||
uint32_t number_of_device_drivers;
|
||||
rtems_driver_address_table *Device_driver_table;
|
||||
@@ -338,12 +342,33 @@ extern const rtems_configuration_table Configuration;
|
||||
NULL
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Returns true if the SMP mode of operation is enabled, and false
|
||||
* otherwise.
|
||||
*
|
||||
* On single-processor configurations this is a compile time constant which
|
||||
* evaluates to false.
|
||||
*
|
||||
* @retval true SMP mode of operation is enabled.
|
||||
* @retval false Otherwise.
|
||||
*/
|
||||
#ifdef RTEMS_SMP
|
||||
#define rtems_configuration_is_smp_enabled() \
|
||||
(Configuration.smp_enabled)
|
||||
#else
|
||||
#define rtems_configuration_is_smp_enabled() \
|
||||
false
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Returns the configured maximum count of processors.
|
||||
*
|
||||
* The actual number of processors available for the application will be less
|
||||
* than or equal to the configured maximum count of processors.
|
||||
*
|
||||
* On single-processor configurations this is a compile time constant which
|
||||
* evaluates to one.
|
||||
*
|
||||
* @return The configured maximum count of processors.
|
||||
*/
|
||||
#ifdef RTEMS_SMP
|
||||
|
||||
Reference in New Issue
Block a user