summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/confdefs.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* posix: Provide threads by defaultSebastian Huber2018-10-291-67/+56
| | | | Update #2514.
* posix: Provide message queues by defaultSebastian Huber2018-10-291-27/+25
| | | | Update #2514.
* posix: Provide shared memory objects by defaultSebastian Huber2018-10-291-40/+23
| | | | Update #2514.
* posix: Provide named semaphores by defaultSebastian Huber2018-10-291-37/+40
| | | | Update #2514.
* posix: Split posix_api_configuration_tableSebastian Huber2018-10-291-48/+47
| | | | | | Use separate configuration variables to avoid false dependencies. Update #2514.
* config: Modify CONFIGURE_INTERRUPT_STACK_SIZESebastian Huber2018-10-241-1/+1
| | | | | | | Use CPU_STACK_MINIMUM_SIZE instead of CONFIGURE_MINIMUM_TASK_STACK_SIZE to set the default value. Close #3480.
* score: Remove CPU_PROVIDES_IDLE_THREAD_BODYSebastian Huber2018-10-051-11/+1
| | | | | | | Remove the CPU_PROVIDES_IDLE_THREAD_BODY option to avoid unnecessary conditional compilation. Close #3539.
* telnetd: Remove CONFIGURE_MAXIMUM_PTYSSebastian Huber2018-10-011-18/+4
| | | | | | | | Add a rtems_telnetd_config_table::client_maximum member to the Telnet configuration. Close #3526. Close #3528.
* Remove CONFIGURE_HAS_OWN_CONFIGURATION_TABLESebastian Huber2018-09-171-184/+186
| | | | | | | | The RTEMS configuration should be done via explicit configuration options to allow more freedom for implementation changes. Update #3489. Update #3490.
* config: Remove CONFIGURE_HAS_OWN_MOUNT_TABLESebastian Huber2018-09-171-3/+4
| | | | | | | | RTEMS had the configuration option CONFIGURE_HAS_OWN_MOUNT_TABLE since 1999. This configuration option was broken since RTEMS 4.11. Remove this broken configuration option. Update #3488.
* config: Remove CONFIGURE_HAS_OWN_FILESYSTEM_TABLESebastian Huber2018-09-171-2/+5
| | | | | | | | This configuration was untested and undocumented. Remove it to avoid a potential exposure of internal data structures to the application domain. Close #3520.
* CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZESebastian Huber2018-08-081-0/+5
| | | | | | Make CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE configurable by the user. Update #3434.
* confdefs: Fix uniprocessor configurationSebastian Huber2018-07-301-41/+44
| | | | | | | | | | Introduce a new internal define _CONFIGURE_MAXIMUM_PROCESSORS and ensure that it is _CONFIGURE_MAXIMUM_PROCESSORS > 1 only in SMP configurations. This avoids to allocate data structures for non-existing additional processors in uniprocessor configuration. Update #3459.
* Rework initialization and interrupt stack supportSebastian Huber2018-06-271-33/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Statically initialize the interrupt stack area (_Configuration_Interrupt_stack_area_begin, _Configuration_Interrupt_stack_area_end, and _Configuration_Interrupt_stack_size) via <rtems/confdefs.h>. Place the interrupt stack area in a special section ".rtemsstack.interrupt". Let BSPs define the optimal placement of this section in their linker command files (e.g. in a fast on-chip memory). This change makes makes the CPU_HAS_SOFTWARE_INTERRUPT_STACK and CPU_HAS_HARDWARE_INTERRUPT_STACK CPU port defines superfluous, since the low level initialization code has all information available via global symbols. This change makes the CPU_ALLOCATE_INTERRUPT_STACK CPU port define superfluous, since the interrupt stacks are allocated by confdefs.h for all architectures. There is no need for BSP-specific linker command file magic (except the section placement), see previous ARM linker command file as a bad example. Remove _CPU_Install_interrupt_stack(). Initialize the hardware interrupt stack in _CPU_Initialize() if necessary (e.g. m68k_install_interrupt_stack()). The optional _CPU_Interrupt_stack_setup() is still useful to customize the registration of the interrupt stack area in the per-CPU information. The initialization stack can reuse the interrupt stack, since * interrupts are disabled during the sequential system initialization, and * the boot_card() function does not return. This stack resuse saves memory. Changes per architecture: arm: * Mostly replace the linker symbol based configuration of stacks with the standard <rtems/confdefs.h> configuration via CONFIGURE_INTERRUPT_STACK_SIZE. The size of the FIQ, ABT and UND mode stack is still defined via linker symbols. These modes are rarely used in applications and the default values provided by the BSP should be sufficient in most cases. * Remove the bsp_processor_count linker symbol hack used for the SMP support. This is possible since the interrupt stack area is now allocated by the linker and not allocated from the heap. This makes some configure.ac stuff obsolete. Remove the now superfluous BSP variants altcycv_devkit_smp and realview_pbx_a9_qemu_smp. bfin: * Remove unused magic linker command file allocation of initialization stack. Maybe a previous linker command file copy and paste problem? In the start.S the initialization stack is set to a hard coded value. lm32, m32c, mips, nios2, riscv, sh, v850: * Remove magic linker command file allocation of initialization stack. Reuse interrupt stack for initialization stack. m68k: * Remove magic linker command file allocation of initialization stack. Reuse interrupt stack for initialization stack. powerpc: * Remove magic linker command file allocation of initialization stack. Reuse interrupt stack for initialization stack. * Used dedicated memory region (REGION_RTEMSSTACK) for the interrupt stack on BSPs using the shared linkcmds.base (replacement for REGION_RWEXTRA). sparc: * Remove the hard coded initialization stack. Use the interrupt stack for the initialization stack on the boot processor. This saves 16KiB of RAM. Update #3459.
* config: Hide CONFIGURE_SCHEDULER_COUNTSebastian Huber2018-05-281-5/+5
| | | | | Rename CONFIGURE_SCHEDULER_COUNT to _CONFIGURE_SCHEDULER_COUNT to emphasise that this is not a user configuration option.
* config: Hide CONFIGURE_INITIAL_EXTENSION_TABLESebastian Huber2018-05-281-3/+3
| | | | | | Rename CONFIGURE_INITIAL_EXTENSION_TABLE to _CONFIGURE_INITIAL_EXTENSION_TABLE to emphasise that this is not a user configuration option.
* Drop executable permissions on .[ch] filesJoel Sherrill2018-04-301-0/+0
|
* config: Fix -Wint-in-bool-context warningsSebastian Huber2018-04-301-1/+1
|
* config: Fix re-definition warningSebastian Huber2018-03-221-14/+3
|
* config: Use new scheduler configuration definesSebastian Huber2018-03-121-18/+18
| | | | Update #3325.
* config: Simplify clustered scheduler configurationSebastian Huber2018-03-121-68/+83
| | | | | | | | | Do not use names derived from scheduler implementation details. Instead use names derived from the scheduler configuration or documentation. Provide defines for backward compatibility. Update #3325.
* Add a simple task console driverSebastian Huber2018-03-061-3/+19
| | | | Close #3320.
* confdefs.h: Minor rework to avoid warnings when CONFIGURE_HAS_OWN_INIT_TABLEJoel Sherrill2018-02-191-13/+16
| | | | | | CONFIGURE_HAS_OWN_INIT_TABLE was used both with and without defining CONFIGURE_RTEMS_INIT_TASKS_TABLE. This rework allows it to work both ways without warnings.
* termios: Remove obsolete configuration optionsSebastian Huber2018-02-051-2/+6
| | | | Update #2843.
* NFS: Use self-contained recursive mutexSebastian Huber2018-02-021-25/+4
| | | | Update #2843.
* pipe: Use self-contained mutexSebastian Huber2018-02-021-14/+1
| | | | Update #2843.
* RFS: Use self-contained recursive mutexSebastian Huber2018-02-021-8/+1
| | | | Update #2843.
* dosfs: Use self-contained recursive mutexSebastian Huber2018-02-021-7/+0
| | | | Update #2843.
* JFFS2: Use self-contained recursive mutexSebastian Huber2018-02-021-8/+1
| | | | Update #2843.
* network: Use self-contained recursive mutexSebastian Huber2018-02-021-11/+1
| | | | Update #2843.