RTEMS  5.0.0
Macros | Variables
confdefs.h File Reference

Configuration Table Template that will be Instantiated by an Application. More...

#include <rtems.h>
#include <rtems/extensiondata.h>
#include <rtems/ioimpl.h>
#include <rtems/sysinit.h>
#include <rtems/score/apimutex.h>
#include <rtems/score/percpu.h>
#include <rtems/score/userextimpl.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/barrierdata.h>
#include <rtems/rtems/dpmemdata.h>
#include <rtems/rtems/messagedata.h>
#include <rtems/rtems/partdata.h>
#include <rtems/rtems/ratemondata.h>
#include <rtems/rtems/regiondata.h>
#include <rtems/rtems/semdata.h>
#include <rtems/rtems/tasksdata.h>
#include <rtems/rtems/timerdata.h>
#include <rtems/posix/key.h>
#include <rtems/posix/mqueue.h>
#include <rtems/posix/psignal.h>
#include <rtems/posix/pthread.h>
#include <rtems/posix/semaphore.h>
#include <rtems/posix/shm.h>
#include <rtems/posix/timer.h>
#include <limits.h>
#include <bsp.h>
#include <rtems/libio_.h>
#include <rtems/imfs.h>
#include <rtems/scheduler.h>
#include <rtems/malloc.h>

Go to the source code of this file.

Macros

#define _CONFIGURE_NEWLIB_EXTENSION   0
 
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS   3
 
#define _CONFIGURE_LIBIO_POSIX_KEYS   1
 
#define _CONFIGURE_MAXIMUM_PROCESSORS   1
 
#define CONFIGURE_MAXIMUM_FIFOS   0
 
#define CONFIGURE_MAXIMUM_PIPES   0
 
#define _CONFIGURE_BARRIERS_FOR_FIFOS   0
 
#define CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK   IMFS_MEMFILE_DEFAULT_BYTES_PER_BLOCK
 
#define _CONFIGURE_STACK_CHECKER_EXTENSION   0
 
#define CONFIGURE_MAXIMUM_PRIORITY   PRIORITY_DEFAULT_MAXIMUM
 Maximum priority configuration. More...
 
#define CONFIGURE_SCHEDULER_PRIORITY
 
#define CONFIGURE_SCHEDULER_NAME   rtems_build_name('U', 'P', 'D', ' ')
 
#define CONFIGURE_SCHEDULER
 
#define CONFIGURE_SCHEDULER_TABLE_ENTRIES   RTEMS_SCHEDULER_TABLE_PRIORITY(dflt, CONFIGURE_SCHEDULER_NAME)
 
#define CONFIGURE_IDLE_TASK_BODY   _CPU_Thread_Idle_body
 Idle task body configuration. More...
 
#define CONFIGURE_MINIMUM_TASK_STACK_SIZE   CPU_STACK_MINIMUM_SIZE
 
#define CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE   (2 * CONFIGURE_MINIMUM_TASK_STACK_SIZE)
 
#define CONFIGURE_IDLE_TASK_STACK_SIZE   CONFIGURE_MINIMUM_TASK_STACK_SIZE
 Idle task stack size configuration. More...
 
#define CONFIGURE_INTERRUPT_STACK_SIZE   CPU_STACK_MINIMUM_SIZE
 
#define CONFIGURE_TASK_STACK_ALLOCATOR_INIT   NULL
 
#define CONFIGURE_TASK_STACK_ALLOCATOR   _Workspace_Allocate
 
#define CONFIGURE_TASK_STACK_DEALLOCATOR   _Workspace_Free
 
#define CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY   FALSE
 
#define _Configure_Zero_or_One(_number)   ((_number) != 0 ? 1 : 0)
 
#define _Configure_Align_up(_val, _align)   (((_val) + (_align) - 1) - ((_val) + (_align) - 1) % (_align))
 
#define _CONFIGURE_HEAP_MIN_BLOCK_SIZE   _Configure_Align_up(sizeof(Heap_Block), CPU_HEAP_ALIGNMENT)
 
#define _Configure_From_workspace(_size)
 
#define _Configure_From_stackspace(_stack_size)   _Configure_From_workspace(_stack_size)
 
#define _Configure_Max_Objects(_max)   (_Configure_Zero_or_One(_max) * rtems_resource_maximum_per_allocation(_max))
 
#define CONFIGURE_INIT_TASK_TABLE   NULL
 
#define CONFIGURE_INIT_TASK_TABLE_SIZE   0
 
#define CONFIGURE_INIT_TASK_STACK_SIZE   0
 
#define NULL_DRIVER_TABLE_ENTRY   { NULL, NULL, NULL, NULL, NULL, NULL }
 
#define CONFIGURE_MAXIMUM_DRIVERS
 
#define _CONFIGURE_LIBBLOCK_TASKS   0
 
#define _CONFIGURE_LIBBLOCK_TASK_EXTRA_STACKS   0
 
#define CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK   0
 
#define _CONFIGURE_TIMER_FOR_SHARED_MEMORY_DRIVER   0
 
#define _CONFIGURE_MPCI_RECEIVE_SERVER_COUNT   0
 
#define CONFIGURE_MAXIMUM_TASKS   0
 
#define _CONFIGURE_TASKS   (CONFIGURE_MAXIMUM_TASKS + _CONFIGURE_LIBBLOCK_TASKS)
 
#define CONFIGURE_MAXIMUM_TIMERS   0
 
#define _CONFIGURE_TIMERS   (CONFIGURE_MAXIMUM_TIMERS + _CONFIGURE_TIMER_FOR_SHARED_MEMORY_DRIVER)
 
#define CONFIGURE_MAXIMUM_SEMAPHORES   0
 
#define _CONFIGURE_MEMORY_FOR_MRSP_SEMAPHORES   0
 
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES   0
 
#define CONFIGURE_MAXIMUM_PARTITIONS   0
 
#define CONFIGURE_MAXIMUM_REGIONS   0
 
#define CONFIGURE_MAXIMUM_PORTS   0
 
#define CONFIGURE_MAXIMUM_PERIODS   0
 
#define CONFIGURE_MAXIMUM_BARRIERS   0
 
#define _CONFIGURE_BARRIERS   (CONFIGURE_MAXIMUM_BARRIERS + _CONFIGURE_BARRIERS_FOR_FIFOS)
 
#define CONFIGURE_MAXIMUM_USER_EXTENSIONS   0
 
#define CONFIGURE_MICROSECONDS_PER_TICK   RTEMS_MILLISECONDS_TO_MICROSECONDS(10)
 
#define _CONFIGURE_TICKS_PER_SECOND   (1000000 / CONFIGURE_MICROSECONDS_PER_TICK)
 
#define CONFIGURE_TICKS_PER_TIMESLICE   50
 
#define CONFIGURE_MAXIMUM_POSIX_KEYS   0
 
#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
 
#define _CONFIGURE_POSIX_KEYS   (CONFIGURE_MAXIMUM_POSIX_KEYS + _CONFIGURE_LIBIO_POSIX_KEYS)
 
#define CONFIGURE_MAXIMUM_POSIX_THREADS   0
 
#define _Configure_POSIX_Named_Object_RAM(_number, _size)
 
#define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES   0
 
#define _CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES(_message_queues)
 
#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES   0
 
#define _CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES(_semaphores)
 
#define CONFIGURE_MAXIMUM_POSIX_SHMS   0
 
#define _CONFIGURE_MEMORY_FOR_POSIX_SHMS(_shms)   _Configure_POSIX_Named_Object_RAM(_shms, sizeof(POSIX_Shm_Control) )
 
#define CONFIGURE_MAXIMUM_POSIX_TIMERS   0
 
#define CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS   0
 
#define _CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS   0
 
#define CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME   NULL
 
#define CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE   0
 
#define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE   0
 
#define CONFIGURE_MAXIMUM_ADA_TASKS   0
 
#define CONFIGURE_MAXIMUM_FAKE_ADA_TASKS   0
 
#define CONFIGURE_MAXIMUM_GOROUTINES   0
 
#define CONFIGURE_MAXIMUM_GO_CHANNELS   0
 
#define CONFIGURE_EXTRA_TASK_STACKS   0
 
#define _CONFIGURE_POSIX_THREADS
 
#define _CONFIGURE_HEAP_HANDLER_OVERHEAD   _Configure_Align_up( HEAP_BLOCK_HEADER_SIZE, CPU_HEAP_ALIGNMENT )
 
#define _CONFIGURE_IDLE_TASKS_COUNT   _CONFIGURE_MAXIMUM_PROCESSORS
 
#define _CONFIGURE_MEMORY_FOR_TASKS(_tasks, _number_FP_tasks)
 
#define _CONFIGURE_MEMORY_FOR_MP   0
 
#define CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE(_messages, _size)
 
#define CONFIGURE_MESSAGE_BUFFER_MEMORY   0
 
#define CONFIGURE_MEMORY_OVERHEAD   0
 
#define _CONFIGURE_MEMORY_FOR_INTERNAL_TASKS
 
#define _CONFIGURE_MEMORY_FOR_SYSTEM_OVERHEAD   _CONFIGURE_MEMORY_FOR_INTERNAL_TASKS
 
#define _CONFIGURE_MEMORY_FOR_STATIC_EXTENSIONS
 
#define CONFIGURE_EXECUTIVE_RAM_SIZE
 
#define _CONFIGURE_INITIALIZATION_THREADS_STACKS_CLASSIC_PART   0
 
#define _CONFIGURE_INITIALIZATION_THREADS_STACKS_POSIX_PART   0
 
#define _CONFIGURE_INITIALIZATION_THREADS_EXTRA_STACKS
 
#define _CONFIGURE_IDLE_TASKS_STACK
 
#define _CONFIGURE_MPCI_RECEIVE_SERVER_STACK
 
#define _CONFIGURE_TASKS_STACK
 
#define _CONFIGURE_POSIX_THREADS_STACK
 
#define _CONFIGURE_ADA_TASKS_STACK
 
#define _CONFIGURE_GOROUTINES_STACK
 
#define _CONFIGURE_STACK_SPACE_SIZE
 
#define CONFIGURE_MAXIMUM_THREAD_NAME_SIZE   16
 

Variables

rtems_initialization_tasks_table Initialization_tasks []
 

Detailed Description

Configuration Table Template that will be Instantiated by an Application.

This include file contains the configuration table template that will be instantiated by an application based on the setting of a number of macros. The macros are documented in the Configuring a System chapter of the Classic API User's Guide

Macro Definition Documentation

◆ _CONFIGURE_ADA_TASKS_STACK

#define _CONFIGURE_ADA_TASKS_STACK
Value:
_Configure_From_stackspace( CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE ) )
#define CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
Definition: confdefs.h:1149
#define _Configure_Max_Objects(_max)
Definition: confdefs.h:1357
#define CONFIGURE_MAXIMUM_ADA_TASKS
Definition: confdefs.h:2363

◆ _CONFIGURE_GOROUTINES_STACK

#define _CONFIGURE_GOROUTINES_STACK
Value:
_Configure_From_stackspace( CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE ) )
#define CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
Definition: confdefs.h:1149
#define CONFIGURE_MAXIMUM_GOROUTINES
Definition: confdefs.h:2397
#define _Configure_Max_Objects(_max)
Definition: confdefs.h:1357

◆ _CONFIGURE_IDLE_TASKS_COUNT

#define _CONFIGURE_IDLE_TASKS_COUNT   _CONFIGURE_MAXIMUM_PROCESSORS

This calculates the amount of memory reserved for the IDLE tasks. In an SMP system, each CPU core has its own idle task.

◆ _CONFIGURE_IDLE_TASKS_STACK

#define _CONFIGURE_IDLE_TASKS_STACK
Value:
_Configure_From_stackspace( CONFIGURE_IDLE_TASK_STACK_SIZE ) )
#define CONFIGURE_IDLE_TASK_STACK_SIZE
Idle task stack size configuration.
Definition: confdefs.h:1163
#define _CONFIGURE_IDLE_TASKS_COUNT
Definition: confdefs.h:2432

◆ _CONFIGURE_INITIALIZATION_THREADS_EXTRA_STACKS

#define _CONFIGURE_INITIALIZATION_THREADS_EXTRA_STACKS
Value:
(_CONFIGURE_INITIALIZATION_THREADS_STACKS_CLASSIC_PART + \
_CONFIGURE_INITIALIZATION_THREADS_STACKS_POSIX_PART)

◆ _CONFIGURE_MEMORY_FOR_INTERNAL_TASKS

#define _CONFIGURE_MEMORY_FOR_INTERNAL_TASKS
Value:
_CONFIGURE_MEMORY_FOR_TASKS( \
_CONFIGURE_IDLE_TASKS_COUNT + _CONFIGURE_MPCI_RECEIVE_SERVER_COUNT, \
_CONFIGURE_IDLE_TASKS_COUNT + _CONFIGURE_MPCI_RECEIVE_SERVER_COUNT \
)
#define _CONFIGURE_IDLE_TASKS_COUNT
Definition: confdefs.h:2432

This defines the formula used to compute the amount of memory reserved for internal task control structures.

◆ _CONFIGURE_MEMORY_FOR_STATIC_EXTENSIONS

#define _CONFIGURE_MEMORY_FOR_STATIC_EXTENSIONS
Value:
(_CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS == 0 ? 0 : \
_Configure_From_workspace( \
_CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS \
))
Manages the switch callouts.
Definition: userextdata.h:39

This macro reserves the memory required by the statically configured user extensions.

◆ _CONFIGURE_MEMORY_FOR_SYSTEM_OVERHEAD

#define _CONFIGURE_MEMORY_FOR_SYSTEM_OVERHEAD   _CONFIGURE_MEMORY_FOR_INTERNAL_TASKS

This macro accounts for general RTEMS system overhead.

◆ _CONFIGURE_MEMORY_FOR_TASKS

#define _CONFIGURE_MEMORY_FOR_TASKS (   _tasks,
  _number_FP_tasks 
)
Value:
(_Configure_Max_Objects(_number_FP_tasks) \
#define _Configure_From_workspace(_size)
Definition: confdefs.h:1335
#define _Configure_Max_Objects(_max)
Definition: confdefs.h:1357
#define CONTEXT_FP_SIZE
Size of floating point context area.
Definition: context.h:47

◆ _CONFIGURE_MPCI_RECEIVE_SERVER_STACK

#define _CONFIGURE_MPCI_RECEIVE_SERVER_STACK
Value:
(_CONFIGURE_MPCI_RECEIVE_SERVER_COUNT * \
_Configure_From_stackspace(CONFIGURE_MINIMUM_TASK_STACK_SIZE))
#define CONFIGURE_MINIMUM_TASK_STACK_SIZE
Definition: confdefs.h:1141

◆ _CONFIGURE_NEWLIB_EXTENSION

#define _CONFIGURE_NEWLIB_EXTENSION   0

This macro determines whether the RTEMS reentrancy support for the Newlib C Library is enabled.

◆ _CONFIGURE_POSIX_THREADS

#define _CONFIGURE_POSIX_THREADS
Value:
CONFIGURE_MAXIMUM_ADA_TASKS + \
CONFIGURE_MAXIMUM_GOROUTINES)
#define CONFIGURE_MAXIMUM_POSIX_THREADS
Definition: confdefs.h:2208

This macro provides a summation of the various POSIX thread requirements.

◆ _CONFIGURE_POSIX_THREADS_STACK

#define _CONFIGURE_POSIX_THREADS_STACK
Value:
_Configure_From_stackspace( CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE ) )
#define CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
Definition: confdefs.h:1149
#define _Configure_Max_Objects(_max)
Definition: confdefs.h:1357
#define CONFIGURE_MAXIMUM_POSIX_THREADS
Definition: confdefs.h:2208

◆ _CONFIGURE_STACK_CHECKER_EXTENSION

#define _CONFIGURE_STACK_CHECKER_EXTENSION   0

This defines the IMFS file system table entry. DEVFS FTPFS TFTPFS NFS DOSFS RFS JFFS2 This configures the stack checker user extension.

◆ _CONFIGURE_STACK_SPACE_SIZE

#define _CONFIGURE_STACK_SPACE_SIZE
Value:
( \
_CONFIGURE_IDLE_TASKS_STACK + \
_CONFIGURE_MPCI_RECEIVE_SERVER_STACK + \
_CONFIGURE_INITIALIZATION_THREADS_EXTRA_STACKS + \
_CONFIGURE_TASKS_STACK + \
_CONFIGURE_POSIX_THREADS_STACK + \
_CONFIGURE_GOROUTINES_STACK + \
_CONFIGURE_ADA_TASKS_STACK + \
CONFIGURE_EXTRA_MPCI_RECEIVE_SERVER_STACK + \
_CONFIGURE_LIBBLOCK_TASK_EXTRA_STACKS + \
CONFIGURE_EXTRA_TASK_STACKS + \
_CONFIGURE_HEAP_HANDLER_OVERHEAD \
)

◆ _CONFIGURE_TASKS_STACK

#define _CONFIGURE_TASKS_STACK
Value:
(_Configure_Max_Objects( _CONFIGURE_TASKS ) * \
_Configure_From_stackspace( CONFIGURE_MINIMUM_TASK_STACK_SIZE ) )
#define CONFIGURE_MINIMUM_TASK_STACK_SIZE
Definition: confdefs.h:1141
#define _Configure_Max_Objects(_max)
Definition: confdefs.h:1357

◆ CONFIGURE_EXECUTIVE_RAM_SIZE

#define CONFIGURE_EXECUTIVE_RAM_SIZE
Value:
( \
_CONFIGURE_MEMORY_FOR_SYSTEM_OVERHEAD + \
_CONFIGURE_MEMORY_FOR_TASKS( \
_CONFIGURE_TASKS, _CONFIGURE_TASKS) + \
_CONFIGURE_MEMORY_FOR_TASKS( \
_CONFIGURE_MEMORY_FOR_MRSP_SEMAPHORES + \
_CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES( \
_CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( \
_CONFIGURE_MEMORY_FOR_POSIX_SHMS( \
_CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS + \
_CONFIGURE_MEMORY_FOR_STATIC_EXTENSIONS + \
_CONFIGURE_MEMORY_FOR_MP + \
CONFIGURE_MESSAGE_BUFFER_MEMORY + \
_CONFIGURE_HEAP_HANDLER_OVERHEAD \
)
#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
Definition: confdefs.h:2240
#define _CONFIGURE_POSIX_THREADS
Definition: confdefs.h:2415
#define CONFIGURE_MEMORY_OVERHEAD
Definition: confdefs.h:2493
#define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
Definition: confdefs.h:2224
#define CONFIGURE_MAXIMUM_POSIX_SHMS
Definition: confdefs.h:2255

This calculates the memory required for the executive workspace.

This is an internal parameter.

◆ CONFIGURE_EXTRA_TASK_STACKS

#define CONFIGURE_EXTRA_TASK_STACKS   0

This is so we can account for tasks with stacks greater than minimum size. This is in bytes.

◆ CONFIGURE_IDLE_TASK_BODY

#define CONFIGURE_IDLE_TASK_BODY   _CPU_Thread_Idle_body

Idle task body configuration.

There is a default IDLE thread body provided by RTEMS which has the possibility of being CPU specific. There may be a BSP specific override of the RTEMS default body and in turn, the application may override and provide its own.

◆ CONFIGURE_IDLE_TASK_STACK_SIZE

#define CONFIGURE_IDLE_TASK_STACK_SIZE   CONFIGURE_MINIMUM_TASK_STACK_SIZE

Idle task stack size configuration.

By default, the IDLE task will have a stack of minimum size. The BSP or application may override this value.

◆ CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS

#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS   3

This macro defines the number of POSIX file descriptors allocated and managed by libio. These are the "integer" file descriptors that are used by calls like open(2) and read(2).

◆ CONFIGURE_MAXIMUM_FIFOS

#define CONFIGURE_MAXIMUM_FIFOS   0

This is specified to configure the maximum number of POSIX FIFOs.

◆ CONFIGURE_MAXIMUM_PIPES

#define CONFIGURE_MAXIMUM_PIPES   0

This is specified to configure the maximum number of POSIX named pipes.

◆ CONFIGURE_MAXIMUM_PRIORITY

#define CONFIGURE_MAXIMUM_PRIORITY   PRIORITY_DEFAULT_MAXIMUM

Maximum priority configuration.

This configures the maximum priority value that a task may have.

The following applies to the data space requirements of the Priority Scheduler.

By reducing the number of priorities in a system, the amount of RAM required by RTEMS can be significantly reduced. RTEMS allocates a Chain_Control structure per priority and this structure contains 3 pointers. So the default is (256 * 12) = 3K on 32-bit architectures.

This must be one less than a power of 2 between 4 and 256. Valid values along with the application priority levels and memory saved when pointers are 32-bits in size are:

  • 3, 2 application priorities, 3024 bytes saved
  • 7, 5 application priorities, 2976 bytes saved
  • 15, 13 application priorities, 2880 bytes saved
  • 31, 29 application priorities, 2688 bytes saved
  • 63, 61 application priorities, 2304 bytes saved
  • 127, 125 application priorities, 1536 bytes saved
  • 255, 253 application priorities, 0 bytes saved

It is specified in terms of Classic API priority values.

◆ CONFIGURE_MEMORY_OVERHEAD

#define CONFIGURE_MEMORY_OVERHEAD   0

This macro is available just in case the confdefs.h file underallocates memory for a particular application. This lets the user add some extra memory in case something broken and underestimates.

It is also possible for cases where confdefs.h overallocates memory, you could substract memory from the allocated. The estimate is just that, an estimate, and assumes worst case alignment and padding on each allocated element. So in some cases it could be too conservative.

NOTE: Historically this was used for message buffers.

◆ CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE

#define CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE (   _messages,
  _size 
)
Value:
(_messages) * (_Configure_Align_up(_size, sizeof(uintptr_t)) \
#define _Configure_Align_up(_val, _align)
Definition: confdefs.h:1323
The organization of a message buffer.
Definition: coremsg.h:87
#define _Configure_From_workspace(_size)
Definition: confdefs.h:1335

The following macro is used to calculate the memory allocated by RTEMS for the message buffers associated with a particular message queue. There is a fixed amount of overhead per message.

◆ CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE

#define CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE   (2 * CONFIGURE_MINIMUM_TASK_STACK_SIZE)

This specifies the default POSIX thread stack size. By default, it is twice that recommended for the port.

◆ CONFIGURE_MINIMUM_TASK_STACK_SIZE

#define CONFIGURE_MINIMUM_TASK_STACK_SIZE   CPU_STACK_MINIMUM_SIZE

By default, use the minimum stack size requested by this port.

◆ CONFIGURE_SCHEDULER

#define CONFIGURE_SCHEDULER
Value:
RTEMS_SCHEDULER_PRIORITY( \
dflt, \
)
#define CONFIGURE_MAXIMUM_PRIORITY
Maximum priority configuration.
Definition: confdefs.h:673

Configure the context needed by the scheduler instance

◆ CONFIGURE_SCHEDULER_NAME

#define CONFIGURE_SCHEDULER_NAME   rtems_build_name('U', 'P', 'D', ' ')

Configure the name of the scheduler instance

◆ CONFIGURE_SCHEDULER_PRIORITY

#define CONFIGURE_SCHEDULER_PRIORITY

If no scheduler is specified in a uniprocessor configuration, the priority scheduler is default.

◆ CONFIGURE_SCHEDULER_TABLE_ENTRIES

#define CONFIGURE_SCHEDULER_TABLE_ENTRIES   RTEMS_SCHEDULER_TABLE_PRIORITY(dflt, CONFIGURE_SCHEDULER_NAME)

Configure the controls for this scheduler instance

◆ CONFIGURE_TASK_STACK_ALLOCATOR

#define CONFIGURE_TASK_STACK_ALLOCATOR   _Workspace_Allocate

This specifies the task stack allocator method.

◆ CONFIGURE_TASK_STACK_ALLOCATOR_INIT

#define CONFIGURE_TASK_STACK_ALLOCATOR_INIT   NULL

Configure the very much optional task stack allocator initialization

◆ CONFIGURE_TASK_STACK_DEALLOCATOR

#define CONFIGURE_TASK_STACK_DEALLOCATOR   _Workspace_Free

This specifies the task stack deallocator method.

Variable Documentation

◆ Initialization_tasks

rtems_initialization_tasks_table Initialization_tasks[]

This is the Classic API initialization tasks table.