summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rtems: Remove empty and unused rtclock.cSebastian Huber2020-11-271-27/+0
|
* config: CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZESebastian Huber2020-11-261-0/+65
| | | | | | | | | | In order to better support applications which use the new rtems_task_construct() directive add the CONFIGURE_INIT_TASK_CONSTURCT_STORAGE_SIZE configuration option. If this option is specified, then the Classic API initialization task is constructed with rtems_task_construct(). Update #4181.
* Avoid INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULLSebastian Huber2020-11-261-7/+1
| | | | | | | Replace a runtime check with a compile time assertion. This makes the INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULL obsolete. Update #4181.
* rtems: Remove unused barriermp.hSebastian Huber2020-11-261-127/+0
|
* rtems: Move _Partition_Allocate()Sebastian Huber2020-11-241-0/+5
| | | | It is only used by rtems_partition_create().
* rtems: Move _Partition_Initialize()Sebastian Huber2020-11-241-0/+25
| | | | It is only used by rtems_partition_create(). Fix integer types.
* rtems: Move _Partition_Is_buffer_area_aligned()Sebastian Huber2020-11-241-1/+6
| | | | | It is only used by rtems_partition_create(). Move code directly into directive which called the inline function. Add a comment.
* rtems: Move _Partition_Is_buffer_size_aligned()Sebastian Huber2020-11-241-1/+6
| | | | | It is only used by rtems_partition_create(). Move code directly into the directive which called the inline function. Add a comment.
* rtems: Move _Partition_Is_buffer_on_boundary()Sebastian Huber2020-11-241-1/+16
| | | | | It is used only by rtems_partition_return_buffer(). Make the PTCB the first parameter. Rename to _Partition_Is_address_on_buffer_boundary().
* rtems: Move _Partition_Is_buffer_valid()Sebastian Huber2020-11-241-1/+17
| | | | | It is used only in one place. Make the PTCB the first parameter. Rename it to _Partition_Is_address_a_buffer_begin().
* rtems: Remove _Partition_Destroy()Sebastian Huber2020-11-231-1/+1
| | | | It was a trivial function call wrapper used only in one place.
* rtems: Remove _Partition_Free()Sebastian Huber2020-11-231-1/+1
| | | | It was a trivial function call wrapper used only in one place.
* rtems: Move _Partition_Free_buffer()Sebastian Huber2020-11-231-0/+9
| | | | It is only used by rtems_partition_return_buffer().
* rtems: Move _Partition_Allocate_buffer()Sebastian Huber2020-11-231-0/+6
| | | | It is only used by rtems_partition_get_buffer().
* rtems: Canonicalize partition file documentationSebastian Huber2020-11-237-16/+30
|
* rtems: Canonicalize task event file documentationSebastian Huber2020-11-237-17/+27
|
* Remove *_Is_null() inline functionsSebastian Huber2020-10-146-8/+11
| | | | Simply compare the values against NULL.
* rtems: Remove superfluous includeSebastian Huber2020-10-141-2/+0
|
* rtems: Canonicalize name and id checksSebastian Huber2020-10-014-14/+22
| | | | | | Check the name followed by the id check in all create directives. Compare pointers against NULL. Fix formatting.
* rtems: Add rtems_message_queue_construct()Sebastian Huber2020-09-282-136/+231
| | | | | | | | | | | In contrast to message queues created by rtems_message_queue_create(), the message queues constructed by this directive use a user-provided message buffer storage area. Add RTEMS_MESSAGE_QUEUE_BUFFER() to define a message buffer type for message buffer storage areas. Update #4007.
* rtems: Remove Message_queue_Control::attribute_setSebastian Huber2020-09-282-7/+7
| | | | | | | Add Message_queue_Control::is_global if RTEMS_MULTIPROCESSING is defined. This reduces the Message_queue_Control size in standard RTEMS configurations. Update #4007.
* score: Simplify CORE_message_queue_BufferSebastian Huber2020-09-281-10/+10
| | | | | | | | | | Merge CORE_message_queue_Buffer structure into CORE_message_queue_Buffer_control. Use a zero-length array for the actual message buffer. This reduces the structure size on all targets. Update #4007.
* score: Improve _CORE_message_queue_Initialize()Sebastian Huber2020-09-281-7/+10
| | | | | | Return a status code and differentiate between error conditions. Update #4007.
* rtems: Add rtems_task_construct()Sebastian Huber2020-09-172-225/+357
| | | | | | | | | | | | | | | | | In contrast to rtems_task_create() this function constructs a task with a user-provided task storage area. The new directive uses a configuration structure instead of individual parameters. Add RTEMS_TASK_STORAGE_SIZE() to calculate the recommended size of a task storage area based on the task attributes and the size dedicated to the task stack and thread-local storage. This macro may allow future extensions without breaking the API. Add application configuration option CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE to adjust RTEMS Workspace size estimate. Update #3959.
* score: Add stack free handler to TCBSebastian Huber2020-08-311-1/+1
| | | | | | | This avoids a dependency to the stack free function in the thread destruction. Update #3959.
* rtems: Add _RTEMS_Name_to_id()Sebastian Huber2020-08-3110-195/+348
| | | | | | | | | | Simplify object name to identifier directives. Using _RTEMS_Name_to_id() to implement the directives enables a tail call optimization. Change license to BSD-2-Clause according to file history. Update #3053.
* rtems: Remove RTEMS_MP_NOT_CONFIGURED errorSebastian Huber2020-06-184-19/+14
| | | | | | | | | | | | | | Some objects can be created with a local or global scope in a multiprocessing network. In non-multiprocessing configurations setting the scope to local or global had no effect since such a system can be viewed as a multiprocessing network with just one node. One and all nodes is the same in such a network. However, if multiprocessing was configured, creation of a global object in a single node network resulted in an RTEMS_MP_NOT_CONFIGURED error. Remove this error condition for symmetry to the non-multiprocessing setup. This is in line with the task affinity behaviour in SMP systems. Update #4005.
* doxygen: Switch @brief and @ingroupSebastian Huber2020-04-2831-31/+62
| | | | This order change fixes the Latex documentation build via Doxygen.
* Canonicalize config.h includeSebastian Huber2020-04-16138-153/+153
| | | | | | | | Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
* score: Return status in _TOD_Set()Sebastian Huber2020-04-141-6/+3
| | | | Update #3949.
* rtems: rtems_scheduler_get_processor_maximum()Sebastian Huber2020-03-042-50/+0
| | | | | | | | | | | | In uniprocessor configurations, use compile-time constants for rtems_scheduler_get_processor_maximum() and rtems_scheduler_get_processor(). This helps compilers and static analyzers to deduce that some loop bodies are only executed once and some conditional statements have a fixed outcome (may improve code generation and reduce false positives). In SMP configurations, directly provide the internal implementation for performance reasons.
* rtems: Add rtems_scheduler_map_priority_from_posix()Sebastian Huber2020-03-031-0/+70
| | | | Update #3881.
* rtems: Add rtems_scheduler_map_priority_to_posix()Sebastian Huber2020-03-031-0/+70
| | | | Update #3881.
* rtems: Change timer server task mode settingSebastian Huber2020-02-251-5/+7
| | | | | | Use the non-preempt mode only in uni-processor configurations. Update #3876.
* score: _Scheduler_Is_non_preempt_mode_supported()Sebastian Huber2020-02-251-3/+6
| | | | | | | | If the non-preempt mode for threads is supported depends on the scheduler implementation. Add _Scheduler_Is_non_preempt_mode_supported() to indicate this. Update #3876.
* score: Add _SMP_Need_inter_processor_interrupts()Sebastian Huber2020-02-251-1/+2
| | | | | | | Test for the proper system condition instead of using the rtems_configuration_is_smp_enabled() workaround. Update #3876.
* config: Bring back RTEMS 4.11 configuration tableSebastian Huber2020-02-251-0/+18
| | | | | This improves API backward compatibility of RTEMS 5.1 to previous versions.
* rtems: Simplify _RTEMS_tasks_Initialize_user_task()Sebastian Huber2020-02-251-3/+2
| | | | | Due to the system initialization order, the _Thread_Global_constructor must be 0 in this function.
* config: Simplify initialization task configSebastian Huber2020-02-253-68/+114
| | | | | | | | | | With the removal of the CONFIGURE_HAS_OWN_INIT_TASK_TABLE configuration option at most one Classic API user initialization task can be configured. Provide an RTEMS API configuration table for backward compatibility. Update #3873.
* score: Move thread stack allocationSebastian Huber2020-02-121-2/+14
| | | | | | Move thread stack allocation to caller side of _Thread_Initialize(). Update #3835.
* score: Add Thread_ConfigurationSebastian Huber2020-02-121-26/+19
| | | | | | | | | Add the Thread_Configuration structure to reduce the parameter count of _Thread_Initialize(). This makes it easier to add more parameters in the future. It simplifies the code generation since most architectures do not have that many registers available for function parameters. Update #3835.
* rtems: Fix MPCI initializationSebastian Huber2020-01-0210-88/+71
| | | | Update #2408.
* Add TOD Hooks to allow BSP to take action when TOD is setJoel Sherrill2019-12-111-2/+7
| | | | | | | | | | | | Two use cases were envisioned for this. 1) a BSP or application which desires to update a real-time clock when the RTEMS TOD is set. 2) a paravirtualized BSP can use this to propagate setting the time in an RTEMS application to the hosting environment. This enables the entire set of applications in the virtualized environments to have a single consistent TOD.
* rtems: Optimize semaphore control blockSebastian Huber2019-12-116-49/+79
| | | | | | | Move variant, discipline, and global information to flags stored in a node pointer of active semaphores. Update #3833.
* termios: Add Capability to Generate SIGINTR and SIGQUITJoel Sherrill2019-10-082-0/+2
| | | | | | | | | | | | | | This patch adds the ability for termios to send SIGINTR on receipt of VINTR and SIGQUIT for VKILL and return -1/EINTR from read() on a termios channel. Importantly, this patch does not alter the default behavior or force POSIX signal code in just because termios is used. The application must explicitly enable the POSIX behavior of generating a signal upon receipt of these characters. This is discussed in the POSIX standard: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap11.html Closes #3800.
* posix: Remove unused OBJECTS_POSIX_INTERRUPTSSebastian Huber2019-05-201-3/+0
|
* score: Rename _SMP_Get_processor_count()Sebastian Huber2019-04-112-2/+2
| | | | | | | Rename _SMP_Get_processor_count() in _SMP_Get_processor_maximum() to be in line with the API level rtems_scheduler_get_processor_maximum(). Update #3732.
* rtems: Add rtems_scheduler_get_processor_maximum()Sebastian Huber2019-04-091-2/+2
| | | | | | | | | | | Add rtems_scheduler_get_processor_maximum() as a replacement for rtems_get_processor_count(). The rtems_get_processor_count() is a bit orphaned. Adopt it by the Scheduler Manager. The count is also misleading, since the processor set may have gaps and the actual count of online processors may be less than the value returned by rtems_get_processor_count(). Update #3732.
* rtems: Add rtems_scheduler_get_processor()Sebastian Huber2019-04-091-2/+2
| | | | | | | | | | | Add rtems_scheduler_get_processor() as a replacement for rtems_get_current_processor(). The rtems_get_current_processor() is a bit orphaned. Adopt it by the Scheduler Manager. This is in line with the glibc sched_getcpu() function. Deprecate rtems_get_current_processor(). Update #3731.
* Remove superfluous <rtems/system.h> includesSebastian Huber2019-03-1415-15/+0
|