summaryrefslogtreecommitdiff
path: root/cpukit/include/rtems/confdefs.h (follow)
AgeCommit message (Collapse)Author
2020-02-12score: Statically allocate idle/MPCI stacksSebastian Huber
Place idle and MPCI stacks into extra linker sections. This can be optionally used by applications to control the placement of the stacks. Update #3835.
2020-02-12score: Split stack allocator configurationSebastian Huber
This allows the linker garbage collection to perform its work. Update #3835.
2020-02-12score: Simplify TLS area allocationSebastian Huber
Use the stack area to allocate the TLS area. Update #3835.
2020-02-12score: Simplify FP context allocationSebastian Huber
Use the stack area to allocate the FP context. This considerably simplifies the application configuration since the task count no longer influences the configured work space size. With this change the stack space size is overestimated since an FP context for each thread is accounted. Memory constraint applications can use the stack size for fine tuning. Update #3835.
2020-02-06config: Add CONFIGURE_DIRTY_MEMORYSebastian Huber
Replace the BSP_DIRTY_MEMORY BSP option with a CONFIGURE_DIRTY_MEMORY configuration option. Update #3843.
2020-02-06sysinit: Add RTEMS_SYSINIT_ZERO_MEMORYSebastian Huber
Use a dedicate system initialization step to zero the memory used for the workspace and C program heap. This avoids dead code in case CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY is not configured.
2020-02-06config: CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLYSebastian Huber
Canonicalize CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY and use defined/undefined instead of TRUE/FALSE. Close #3862.
2020-02-06config: Remove BSP_ZERO_WORKSPACE_AUTOMATICALLYSebastian Huber
Update #3863.
2020-02-04config: Add CONFIGURE_VERBOSE_SYSTEM_INITIALIZATIONSebastian Huber
Update #3861.
2020-02-04bsps: Rework work area initializationSebastian Huber
The work area initialization was done by the BSP through bsp_work_area_initialize(). This approach predated the system initialization through the system initialization linker set. The workspace and C program heap were unconditionally initialized. The aim is to support RTEMS application configurations which do not need the workspace and C program heap. In these configurations, the workspace and C prgram heap should not get initialized. Change all bsp_work_area_initialize() to implement _Memory_Get() instead. Move the dirty memory, sbrk(), per-CPU data, workspace, and malloc() heap initialization into separate system initialization steps. This makes it also easier to test the individual initialization steps. This change adds a dependency to _Heap_Extend() to all BSPs. This dependency will be removed in a follow up change. Update #3838.
2020-01-28record: Fix configurationSebastian Huber
2019-12-19config: Improve EDF SMP scheduler configurationSebastian Huber
Use CONFIGURE_MAXIMUM_PROCESSORS to configure the EDF SMP scheduler context. This avoids hard to debug configuration errors resulting in memory corruptions. Close #3815.
2019-12-19config: Fix CONFIGURE_MAXIMUM_POSIX_THREADSSebastian Huber
Bug was introduced by previous commit. Update #3845.
2019-12-19config: Remove Ada configuration optionsSebastian Huber
Update #3845.
2019-12-19config: CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORSSebastian Huber
Rename CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS into CONFIGURE_MAXIMUM_FILE_DESCRIPTORS. Update #3753.
2019-12-19config: CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLESebastian Huber
Remove CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE. Update #3844.
2019-12-13config: Statically allocate MP object controlsSebastian Huber
Update #3735.
2019-12-13config: Statically allocate MP thread proxiesSebastian Huber
Update #3735.
2019-12-13config: Add _MPCI_ConfigurationSebastian Huber
Replace the user MPCI configuration table with a system provided _MPCI_Configuration. Update #3735.
2019-12-13config: CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLESebastian Huber
Obsolete the CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE configuration option. Update #3735.
2019-12-13config: Add CONFIGURE_IMFS_ENABLE_MKFIFOSebastian Huber
Obsolete undocumented configuration options CONFIGURE_MAXIMUM_FIFOS and CONFIGURE_MAXIMUM_PIPES. Replace these options with the new CONFIGURE_IMFS_ENABLE_MKFIFO configuration option. Update #3840.
2019-12-11pipe: Use condition variablesSebastian Huber
Use self-contained condition variables instead of Classic API barriers. This simplifies the implementation and configuration. Update #3840.
2019-12-11mpci: Simplify MPCI configurationSebastian Huber
Use watchdog for shared memory driver instead of a Classic API Timer.
2019-12-11rtems: Simplify semaphore configurationSebastian Huber
The MrsP semaphore implementation predates the addition of self-contained synchronization objects. At this time, the potential memory reduction was justified considering the more complex configuration and additional use of the workspace. With the availability of self-contained synchronization options, e.g. POSIX mutexes, this is no longer justified. Memory constrained applications should use the self-contained synchronization objects. Remove the CONFIGURE_MAXIMUM_MRSP_SEMAPHORES configuration option. This has only an impact on applications which use SMP and a large number of scheduler instances. Update #3833.
2019-12-11clock: Simplify driver initializationSebastian Huber
Use a system initialization handler instead of a legacy IO driver. Update #3834.
2019-12-09userext: Simplify configurationSebastian Huber
Avoid the use of the workspace and use statically allocated switch controls for the initial extensions.
2019-10-28config: Avoid zero-length arraySebastian Huber
Use RTEMS_DEFINE_GLOBAL_SYMBOL_IN_SECTION() instead. Close #3799.
2019-08-30record: Simplify configurationSebastian Huber
Update #3665.
2019-08-28record: Use BSS section instead of per-CPU dataSebastian Huber
The .rtemsrwset section is used for the per-CPU data. This section has loadable content. Place the ring buffers in the BSS section to avoid large executable image sizes. Not using the per-CPU data makes it possible to initialize the record support earlier. Update #3665.
2019-07-30Add and use THREAD_DEFAULT_MAXIMUM_NAME_SIZESebastian Huber
2019-06-19rtems/confdefs.h: Fix typoJoel Sherrill
2019-04-10posix: Avoid workspace for queued signalsSebastian Huber
2019-04-10posix: _Configuration_POSIX_Minimum_stack_sizeSebastian Huber
Rename to use proper namespace.
2019-04-10posix: _Configuration_POSIX_Maximum_queued_signalsSebastian Huber
Rename to use proper namespace.
2019-04-10config: Obsolete Go configuration optionsSebastian Huber
Update #2832.
2019-01-29Add low level event recording supportSebastian Huber
Add low level event recording infrastructure for system and user defined events. The infrastructure is able to record high frequency events such as * SMP lock acquire/release, * interrupt entry/exit, * thread switches, * UMA zone allocate/free, and * Ethernet packet input/output, etc. It allows post-mortem analysis in fatal error handlers, e.g. the last events are in the record buffer, the newest event overwrites the oldest event. It is possible to detect record buffer overflows for consumers that expect a continuous stream of events, e.g. to display the system state in real-time. The implementation supports high-end SMP machines (more than 1GHz processor frequency, more than four processors). Add a new API instead. The implementation uses per-processor data structures and no atomic read-modify-write operations. It is uses per-processor ring buffers to record the events. The CPU counter is used to get the time of events. It is combined with periodic uptime events to synchronize it with CLOCK_REALTIME. The existing capture engine tries to solve this problem also, but its performance is not good enough for high-end production systems. The main issues are the variable-size buffers and the use of SMP locks for synchronization. To fix this, the API would change significantly. Update #3665.
2018-12-17config: Remove CONFIGURE_CONFDEFS_DEBUGSebastian Huber
This configuration option was undocumented and not really helpful. To debug issues in <rtems/confdefs.h> it is better to save the preprocessesd file (GCC "-save-temps" option) and use the GCC "-Wp,-dD" pre-processor option.
2018-12-14score: Static Objects_Information initializationSebastian Huber
Statically allocate the objects information together with the initial set of objects either via <rtems/confdefs.h>. Provide default object informations with zero objects via librtemscpu.a. This greatly simplifies the workspace size estimate. RTEMS applications which do not use the unlimited objects option are easier to debug since all objects reside now in statically allocated objects of the right types. Close #3621.
2018-12-04Spelling and grammar fixes in source code comments (GCI 2018)Marçal Comajoan Cara
2018-11-12rtems: Move internal structures to extensiondata.hSebastian Huber
Update #3598.
2018-11-12rtems: Move internal structures to timerdata.hSebastian Huber
Update #3598.
2018-11-12rtems: Move internal structures to tasksdata.hSebastian Huber
Update #3598.
2018-11-12rtems: Move internal structures to semdata.hSebastian Huber
Update #3598.
2018-11-12rtems: Move internal structures to regiondata.hSebastian Huber
Update #3598.
2018-11-12rtems: Move internal structures to partdata.hSebastian Huber
Update #3598.
2018-11-12rtems: Move internal structures to messagedata.hSebastian Huber
Update #3598.
2018-11-12rtems: Move internal structures to dpmemdata.hSebastian Huber
Update #3598.
2018-11-12rtems: Move internal structures to barrierdata.hSebastian Huber
Update #3598.
2018-11-12rtems: Move internal structures to ratemondata.hSebastian Huber
Update #3598.
2018-11-08score: Rename interrupt stack symbolsSebastian Huber
Rename * _Configuration_Interrupt_stack_area_begin in _ISR_Stack_area_begin, * _Configuration_Interrupt_stack_area_end in _ISR_Stack_area_end, and * _Configuration_Interrupt_stack_size in _ISR_Stack_size. Move definitions to <rtems/score/isr.h>. The new names are considerable shorter and in the right namespace. Update #3459.