summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/confdefs.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Split stack allocator configurationSebastian Huber2020-02-121-38/+25
| | | | | | This allows the linker garbage collection to perform its work. Update #3835.
* score: Simplify TLS area allocationSebastian Huber2020-02-121-1/+2
| | | | | | Use the stack area to allocate the TLS area. Update #3835.
* score: Simplify FP context allocationSebastian Huber2020-02-121-41/+3
| | | | | | | | | | | 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.
* config: Add CONFIGURE_DIRTY_MEMORYSebastian Huber2020-02-061-0/+8
| | | | | | | Replace the BSP_DIRTY_MEMORY BSP option with a CONFIGURE_DIRTY_MEMORY configuration option. Update #3843.
* sysinit: Add RTEMS_SYSINIT_ZERO_MEMORYSebastian Huber2020-02-061-5/+10
| | | | | | | | 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.
* config: CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLYSebastian Huber2020-02-061-10/+5
| | | | | | | Canonicalize CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY and use defined/undefined instead of TRUE/FALSE. Close #3862.
* config: Remove BSP_ZERO_WORKSPACE_AUTOMATICALLYSebastian Huber2020-02-061-7/+1
| | | | Update #3863.
* config: Add CONFIGURE_VERBOSE_SYSTEM_INITIALIZATIONSebastian Huber2020-02-041-0/+8
| | | | Update #3861.
* bsps: Rework work area initializationSebastian Huber2020-02-041-15/+0
| | | | | | | | | | | | | | | | | | | | 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.
* record: Fix configurationSebastian Huber2020-01-281-2/+4
|
* config: Improve EDF SMP scheduler configurationSebastian Huber2019-12-191-2/+1
| | | | | | | | Use CONFIGURE_MAXIMUM_PROCESSORS to configure the EDF SMP scheduler context. This avoids hard to debug configuration errors resulting in memory corruptions. Close #3815.
* config: Fix CONFIGURE_MAXIMUM_POSIX_THREADSSebastian Huber2019-12-191-1/+1
| | | | | | Bug was introduced by previous commit. Update #3845.
* config: Remove Ada configuration optionsSebastian Huber2019-12-191-62/+18
| | | | Update #3845.
* config: CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORSSebastian Huber2019-12-191-3/+8
| | | | | | | Rename CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS into CONFIGURE_MAXIMUM_FILE_DESCRIPTORS. Update #3753.
* config: CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLESebastian Huber2019-12-191-30/+28
| | | | | | Remove CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE. Update #3844.
* config: Statically allocate MP object controlsSebastian Huber2019-12-131-16/+4
| | | | Update #3735.
* config: Statically allocate MP thread proxiesSebastian Huber2019-12-131-6/+13
| | | | Update #3735.
* config: Add _MPCI_ConfigurationSebastian Huber2019-12-131-7/+9
| | | | | | | Replace the user MPCI configuration table with a system provided _MPCI_Configuration. Update #3735.
* config: CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLESebastian Huber2019-12-131-41/+41
| | | | | | | Obsolete the CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE configuration option. Update #3735.
* config: Add CONFIGURE_IMFS_ENABLE_MKFIFOSebastian Huber2019-12-131-5/+11
| | | | | | | | 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.
* pipe: Use condition variablesSebastian Huber2019-12-111-20/+2
| | | | | | | Use self-contained condition variables instead of Classic API barriers. This simplifies the implementation and configuration. Update #3840.
* mpci: Simplify MPCI configurationSebastian Huber2019-12-111-9/+2
| | | | Use watchdog for shared memory driver instead of a Classic API Timer.
* rtems: Simplify semaphore configurationSebastian Huber2019-12-111-18/+8
| | | | | | | | | | | | | | | 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.
* clock: Simplify driver initializationSebastian Huber2019-12-111-4/+8
| | | | | | Use a system initialization handler instead of a legacy IO driver. Update #3834.
* userext: Simplify configurationSebastian Huber2019-12-091-21/+7
| | | | | Avoid the use of the workspace and use statically allocated switch controls for the initial extensions.
* config: Avoid zero-length arraySebastian Huber2019-10-281-2/+4
| | | | | | Use RTEMS_DEFINE_GLOBAL_SYMBOL_IN_SECTION() instead. Close #3799.
* record: Simplify configurationSebastian Huber2019-08-301-2/+1
| | | | Update #3665.
* record: Use BSS section instead of per-CPU dataSebastian Huber2019-08-281-6/+10
| | | | | | | | | | | 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.
* Add and use THREAD_DEFAULT_MAXIMUM_NAME_SIZESebastian Huber2019-07-301-1/+1
|
* rtems/confdefs.h: Fix typoJoel Sherrill2019-06-191-1/+1
|
* posix: Avoid workspace for queued signalsSebastian Huber2019-04-101-0/+4
|
* posix: _Configuration_POSIX_Minimum_stack_sizeSebastian Huber2019-04-101-1/+1
| | | | Rename to use proper namespace.
* posix: _Configuration_POSIX_Maximum_queued_signalsSebastian Huber2019-04-101-1/+1
| | | | Rename to use proper namespace.
* config: Obsolete Go configuration optionsSebastian Huber2019-04-101-46/+13
| | | | Update #2832.
* Add low level event recording supportSebastian Huber2019-01-291-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* config: Remove CONFIGURE_CONFDEFS_DEBUGSebastian Huber2018-12-171-59/+0
| | | | | | | 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.
* score: Static Objects_Information initializationSebastian Huber2018-12-141-309/+153
| | | | | | | | | | | 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.
* Spelling and grammar fixes in source code comments (GCI 2018)Marçal Comajoan Cara2018-12-041-2/+2
|
* rtems: Move internal structures to extensiondata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to timerdata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to tasksdata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to semdata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to regiondata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to partdata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to messagedata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to dpmemdata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to barrierdata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* rtems: Move internal structures to ratemondata.hSebastian Huber2018-11-121-0/+1
| | | | Update #3598.
* score: Rename interrupt stack symbolsSebastian Huber2018-11-081-3/+3
| | | | | | | | | | | | | 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.
* config: Fix CONFIGURE_DISABLE_NEWLIB_REENTRANCYSebastian Huber2018-11-071-9/+5
| | | | | | | | | | | Move the __getreent() variant using the global reentrancy structure to librtemscpu.a. This avoids a definition of __getreent() in the configuration module if CONFIGURE_DISABLE_NEWLIB_REENTRANCY is defined. This avoids all the dependencies which would be exposed by a reference to the global reentrancy structure. This change is only possible since the default configuration moved to librtemsdefaultconfig.a recently.