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) 95 uintptr_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())) 102 uint32_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) 136 #define rtems_configuration_get_do_zero_of_workspace() \ 137 _Memory_Zero_before_use 139 #define rtems_configuration_get_number_of_initial_extensions() \ 140 ((uint32_t) _User_extensions_Initial_count) 142 #define rtems_configuration_get_user_extension_table() \ 143 (&_User_extensions_Initial_extensions[ 0 ]) 145 #if defined(RTEMS_MULTIPROCESSING) 146 #define rtems_configuration_get_user_multiprocessing_table() \ 147 (&_MPCI_Configuration) 149 #define rtems_configuration_get_user_multiprocessing_table() \ 164 #define rtems_configuration_get_maximum_processors() \ 165 (_SMP_Processor_configured_maximum) Constants defined by the application configuration for the idle threads.
User Extension Handler Data Structures.
Information About the Thread Stack Handler.
Data Related to the Management of Processor Interrupt Levels.
Constants and Structures Associated with the Object Handler.
Stack_Allocator_allocate rtems_stack_allocate_hook
Stack allocator allocate handler.
Definition: config.h:68
Stack_Allocator_initialize rtems_stack_allocate_init_hook
The stack allocator initialization handler.
Definition: config.h:63
SuperCore SMP Support API.
Stack_Allocator_free rtems_stack_free_hook
Stack allocator free handler.
Definition: config.h:73
void(* Stack_Allocator_initialize)(size_t stack_space_size)
The stack allocator initialization handler.
Definition: stack.h:65
Constants for the watchdog ticks.
void(* Stack_Allocator_free)(void *addr)
Stack allocator free handler.
Definition: stack.h:82
Constants for the idle threads.
void *(* Stack_Allocator_allocate)(size_t stack_size)
Stack allocator allocate handler.
Definition: stack.h:75