19#ifndef _RTEMS_CONFIG_H
20#define _RTEMS_CONFIG_H
41#if defined(RTEMS_MULTIPROCESSING)
49#define RTEMS_UNLIMITED_OBJECTS OBJECTS_UNLIMITED_OBJECTS
51#define rtems_resource_unlimited(resource) \
52 ( resource | RTEMS_UNLIMITED_OBJECTS )
54#define rtems_resource_is_unlimited(resource) \
55 _Objects_Is_unlimited(resource)
57#define rtems_resource_maximum_per_allocation(resource) \
58 _Objects_Maximum_per_allocation(resource)
80#define rtems_configuration_get_unified_work_area() \
81 (_Workspace_Is_unified)
92#define rtems_configuration_get_stack_allocator_avoids_work_space() \
93 (_Stack_Allocator_avoids_workspace)
95uintptr_t rtems_configuration_get_stack_space_size(
void );
97#define rtems_configuration_get_work_space_size() \
99 (rtems_configuration_get_stack_allocator_avoids_work_space() ? \
100 0 : rtems_configuration_get_stack_space_size()))
102uint32_t rtems_configuration_get_maximum_extensions(
void );
104#define rtems_configuration_get_microseconds_per_tick() \
105 (_Watchdog_Microseconds_per_tick)
106#define rtems_configuration_get_milliseconds_per_tick() \
107 (_Watchdog_Microseconds_per_tick / 1000)
108#define rtems_configuration_get_nanoseconds_per_tick() \
109 (_Watchdog_Nanoseconds_per_tick)
111#define rtems_configuration_get_ticks_per_timeslice() \
112 (_Watchdog_Ticks_per_timeslice)
114#define rtems_configuration_get_idle_task() \
117#define rtems_configuration_get_idle_task_stack_size() \
118 (_Thread_Idle_stack_size)
120#define rtems_configuration_get_interrupt_stack_size() \
121 ((size_t) _ISR_Stack_size)
123#define rtems_configuration_get_stack_allocate_init_hook() \
124 (_Stack_Allocator_initialize)
126#define rtems_configuration_get_stack_allocate_hook() \
127 (_Stack_Allocator_allocate)
129#define rtems_configuration_get_stack_free_hook() \
130 (_Stack_Allocator_free)
132#define rtems_configuration_get_stack_allocate_for_idle_hook() \
133 (_Stack_Allocator_allocate_for_idle)
139#define rtems_configuration_get_do_zero_of_workspace() \
140 _Memory_Zero_before_use
142#define rtems_configuration_get_number_of_initial_extensions() \
143 ((uint32_t) _User_extensions_Initial_count)
145#define rtems_configuration_get_user_extension_table() \
146 (&_User_extensions_Initial_extensions[ 0 ])
148#if defined(RTEMS_MULTIPROCESSING)
149 #define rtems_configuration_get_user_multiprocessing_table() \
150 (&_MPCI_Configuration)
152 #define rtems_configuration_get_user_multiprocessing_table() \
167#define rtems_configuration_get_maximum_processors() \
168 (_SMP_Processor_configured_maximum)
Information About the Thread Stack Handler.
void(* Stack_Allocator_initialize)(size_t stack_space_size)
The stack allocator initialization handler.
Definition: stack.h:65
void *(* Stack_Allocator_allocate)(size_t stack_size)
Stack allocator allocate handler.
Definition: stack.h:75
void(* Stack_Allocator_free)(void *addr)
Stack allocator free handler.
Definition: stack.h:82
Stack_Allocator_initialize rtems_stack_allocate_init_hook
The stack allocator initialization handler.
Definition: config.h:63
Stack_Allocator_allocate rtems_stack_allocate_hook
Stack allocator allocate handler.
Definition: config.h:68
Stack_Allocator_free rtems_stack_free_hook
Stack allocator free handler.
Definition: config.h:73
Data Related to the Management of Processor Interrupt Levels.
Constants and Structures Associated with the Object Handler.
SuperCore SMP Support API.
Constants for the idle threads.
User Extension Handler Data Structures.
Constants for the watchdog ticks.
Constants defined by the application configuration for the idle threads.