57#ifndef _RTEMS_CONFIG_H
58#define _RTEMS_CONFIG_H
63#include <rtems/score/cpu.h>
64#include <rtems/score/cpuopts.h>
75#if defined(RTEMS_MULTIPROCESSING)
141#define RTEMS_UNLIMITED_OBJECTS OBJECTS_UNLIMITED_OBJECTS
168#define rtems_configuration_get_stack_allocator_avoids_work_space() \
169 _Stack_Allocator_avoids_workspace
205#define RTEMS_HAS_HARDWARE_FP CPU_HARDWARE_FP
368#define rtems_configuration_get_do_zero_of_workspace() _Memory_Zero_before_use
392#define rtems_configuration_get_idle_task_stack_size() _Thread_Idle_stack_size
416#define rtems_configuration_get_idle_task() _Thread_Idle_body
440#define rtems_configuration_get_interrupt_stack_size() \
441 ((size_t) _ISR_Stack_size_object)
500#define rtems_configuration_get_maximum_processors() \
501 _SMP_Processor_configured_maximum
527#define rtems_configuration_get_microseconds_per_tick() \
528 _Watchdog_Microseconds_per_tick
554#define rtems_configuration_get_milliseconds_per_tick() \
555 ( _Watchdog_Microseconds_per_tick / 1000 )
581#define rtems_configuration_get_nanoseconds_per_tick() \
582 _Watchdog_Nanoseconds_per_tick
609#define rtems_configuration_get_number_of_initial_extensions() \
610 ((uint32_t) _User_extensions_Initial_count)
636#define rtems_configuration_get_stack_allocate_for_idle_hook() \
637 _Stack_Allocator_allocate_for_idle
663#define rtems_configuration_get_stack_allocate_hook() _Stack_Allocator_allocate
689#define rtems_configuration_get_stack_allocate_init_hook() \
690 _Stack_Allocator_initialize
716#define rtems_configuration_get_stack_free_hook() _Stack_Allocator_free
741#define rtems_configuration_get_ticks_per_timeslice() \
742 _Watchdog_Ticks_per_timeslice
768#define rtems_configuration_get_unified_work_area() _Workspace_Is_unified
789#define rtems_configuration_get_user_extension_table() \
790 _User_extensions_Initial_extensions
811#if defined(RTEMS_MULTIPROCESSING)
812 #define rtems_configuration_get_user_multiprocessing_table() \
813 ( &_MPCI_Configuration )
815 #define rtems_configuration_get_user_multiprocessing_table() NULL
838#define rtems_configuration_get_work_space_size() \
839 ( _Workspace_Size + \
840 ( rtems_configuration_get_stack_allocator_avoids_work_space() ? \
841 0 : rtems_configuration_get_stack_space_size() ) )
865#define rtems_resource_is_unlimited( _resource ) \
866 _Objects_Is_unlimited( _resource )
890#define rtems_resource_maximum_per_allocation( _resource ) \
891 _Objects_Maximum_per_allocation( _resource )
921#define rtems_resource_unlimited( _resource ) \
922 ( ( _resource ) | RTEMS_UNLIMITED_OBJECTS )
This header file provides types used by the Classic API.
This header file provides the interfaces of the Memory Handler.
This header file provides interfaces of the MPCI Handler which are used by the implementation and the...
This header file provides interfaces of the SMP Support which are used by the implementation and the ...
This header file provides interfaces of the Stack Handler which are used by the implementation and th...
uint32_t rtems_configuration_get_maximum_extensions(void)
Gets the resource number of User Extensions Manager objects configured for this application.
Definition: getconfigmax.c:77
uintptr_t rtems_configuration_get_stack_space_size(void)
Gets the configured size in bytes of the memory space used to allocate thread stacks for this applica...
Definition: configstackspacesize.c:45
const char * rtems_get_build_label(void)
Gets the RTEMS build label.
Definition: getbuildlabel.c:43
const char * rtems_get_target_hash(void)
Gets the RTEMS target hash.
Definition: gettargethash-default.c:57
const char * rtems_get_copyright_notice(void)
Gets the RTEMS copyright notice.
Definition: getcopyrightnotice.c:46
Stack_Allocator_initialize rtems_stack_allocate_init_hook
A task stack allocator initialization handler shall have this type.
Definition: config.h:223
Stack_Allocator_allocate rtems_stack_allocate_hook
A thread stack allocator allocate handler shall have this type.
Definition: config.h:214
const char * rtems_get_version_string(void)
Gets the RTEMS version string.
Definition: getversionstring.c:45
Stack_Allocator_free rtems_stack_free_hook
A task stack allocator free handler shall have this type.
Definition: config.h:232
void(* Stack_Allocator_initialize)(size_t stack_space_size)
The stack allocator initialization handler.
Definition: stack.h:83
void *(* Stack_Allocator_allocate)(size_t stack_size)
Stack allocator allocate handler.
Definition: stack.h:93
void(* Stack_Allocator_free)(void *addr)
Stack allocator free handler.
Definition: stack.h:100
This header file provides parts of the application configuration information API.
This header file provides the main interfaces of the ISR Handler.
This header file provides interfaces of the Object Handler which are used by the implementation and t...
This header file provides data structures used by the implementation and the Application Configuratio...
This header file provides data structures used by the implementation and the Application Configuratio...
This header file provides the interfaces of the Watchdog Handler related to watchdog ticks which are ...
This header file provides data structures used by the implementation and the Application Configuratio...